<!DOCTYPE Register_Definition_File>
<Processor name="STM32G473xx" description="STM32G473xx">
  <RegisterGroup name="CRC" description="Cyclic redundancy check calculation unit" start="0x40023000">
    <Register name="DR" description="Data register" start="+0x0" size="4" access="Read/Write" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="DR" description="Data register bits" start="0" size="32" />
    </Register>
    <Register name="IDR" description="Independent data register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IDR" description="General-purpose 8-bit data register bits" start="0" size="32" />
    </Register>
    <Register name="CR" description="Control register" start="+0x8" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="REV_OUT" description="Reverse output data" start="7" size="1" access="Read/Write" />
      <BitField name="REV_IN" description="Reverse input data" start="5" size="2" access="Read/Write" />
      <BitField name="POLYSIZE" description="Polynomial size" start="3" size="2" access="Read/Write" />
      <BitField name="RESET" description="RESET bit" start="0" size="1" access="WriteOnly" />
    </Register>
    <Register name="INIT" description="Initial CRC value" start="+0x10" size="4" access="Read/Write" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="CRC_INIT" description="Programmable initial CRC value" start="0" size="32" />
    </Register>
    <Register name="POL" description="polynomial" start="+0x14" size="4" access="Read/Write" reset_value="0x04C11DB7" reset_mask="0xFFFFFFFF">
      <BitField name="POL" description="Programmable polynomial" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="IWDG" description="WinWATCHDOG" start="0x40003000">
    <Register name="KR" description="Key register" start="+0x0" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="KEY" description="Key value (write only, read 0x0000)" start="0" size="16" />
    </Register>
    <Register name="PR" description="Prescaler register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PR" description="Prescaler divider" start="0" size="3" />
    </Register>
    <Register name="RLR" description="Reload register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000FFF" reset_mask="0xFFFFFFFF">
      <BitField name="RL" description="Watchdog counter reload value" start="0" size="12" />
    </Register>
    <Register name="SR" description="Status register" start="+0xC" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="WVU" description="Watchdog counter window value update" start="2" size="1" />
      <BitField name="RVU" description="Watchdog counter reload value update" start="1" size="1" />
      <BitField name="PVU" description="Watchdog prescaler value update" start="0" size="1" />
    </Register>
    <Register name="WINR" description="Window register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000FFF" reset_mask="0xFFFFFFFF">
      <BitField name="WIN" description="Watchdog counter window value" start="0" size="12" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="WWDG" description="System window watchdog" start="0x40002C00">
    <Register name="CR" description="Control register" start="+0x0" size="4" access="Read/Write" reset_value="0x0000007F" reset_mask="0xFFFFFFFF">
      <BitField name="WDGA" description="Activation bit" start="7" size="1" />
      <BitField name="T" description="7-bit counter (MSB to LSB)" start="0" size="7" />
    </Register>
    <Register name="CFR" description="Configuration register" start="+0x4" size="4" access="Read/Write" reset_value="0x0000007F" reset_mask="0xFFFFFFFF">
      <BitField name="WDGTB" description="Timer base" start="11" size="3" />
      <BitField name="EWI" description="Early wakeup interrupt" start="9" size="1" />
      <BitField name="W" description="7-bit window value" start="0" size="7" />
    </Register>
    <Register name="SR" description="Status register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EWIF" description="Early wakeup interrupt flag" start="0" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="I2C1" description="Inter-integrated circuit" start="0x40005400">
    <Register name="CR1" description="Control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PE" description="Peripheral enable" start="0" size="1" />
      <BitField name="TXIE" description="TX Interrupt enable" start="1" size="1" />
      <BitField name="RXIE" description="RX Interrupt enable" start="2" size="1" />
      <BitField name="ADDRIE" description="Address match interrupt enable (slave only)" start="3" size="1" />
      <BitField name="NACKIE" description="Not acknowledge received interrupt enable" start="4" size="1" />
      <BitField name="STOPIE" description="STOP detection Interrupt enable" start="5" size="1" />
      <BitField name="TCIE" description="Transfer Complete interrupt enable" start="6" size="1" />
      <BitField name="ERRIE" description="Error interrupts enable" start="7" size="1" />
      <BitField name="DNF" description="Digital noise filter" start="8" size="4" />
      <BitField name="ANFOFF" description="Analog noise filter OFF" start="12" size="1" />
      <BitField name="TXDMAEN" description="DMA transmission requests enable" start="14" size="1" />
      <BitField name="RXDMAEN" description="DMA reception requests enable" start="15" size="1" />
      <BitField name="SBC" description="Slave byte control" start="16" size="1" />
      <BitField name="NOSTRETCH" description="Clock stretching disable" start="17" size="1" />
      <BitField name="WUPEN" description="Wakeup from STOP enable" start="18" size="1" />
      <BitField name="GCEN" description="General call enable" start="19" size="1" />
      <BitField name="SMBHEN" description="SMBus Host address enable" start="20" size="1" />
      <BitField name="SMBDEN" description="SMBus Device Default address enable" start="21" size="1" />
      <BitField name="ALERTEN" description="SMBUS alert enable" start="22" size="1" />
      <BitField name="PECEN" description="PEC enable" start="23" size="1" />
    </Register>
    <Register name="CR2" description="Control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PECBYTE" description="Packet error checking byte" start="26" size="1" />
      <BitField name="AUTOEND" description="Automatic end mode (master mode)" start="25" size="1" />
      <BitField name="RELOAD" description="NBYTES reload mode" start="24" size="1" />
      <BitField name="NBYTES" description="Number of bytes" start="16" size="8" />
      <BitField name="NACK" description="NACK generation (slave mode)" start="15" size="1" />
      <BitField name="STOP" description="Stop generation (master mode)" start="14" size="1" />
      <BitField name="START" description="Start generation" start="13" size="1" />
      <BitField name="HEAD10R" description="10-bit address header only read direction (master receiver mode)" start="12" size="1" />
      <BitField name="ADD10" description="10-bit addressing mode (master mode)" start="11" size="1" />
      <BitField name="RD_WRN" description="Transfer direction (master mode)" start="10" size="1" />
      <BitField name="SADD" description="Slave address bit (master mode)" start="0" size="10" />
    </Register>
    <Register name="OAR1" description="Own address register 1" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OA1" description="Interface address" start="0" size="10" />
      <BitField name="OA1MODE" description="Own Address 1 10-bit mode" start="10" size="1" />
      <BitField name="OA1EN" description="Own Address 1 enable" start="15" size="1" />
    </Register>
    <Register name="OAR2" description="Own address register 2" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OA2" description="Interface address" start="1" size="7" />
      <BitField name="OA2MSK" description="Own Address 2 masks" start="8" size="3" />
      <BitField name="OA2EN" description="Own Address 2 enable" start="15" size="1" />
    </Register>
    <Register name="TIMINGR" description="Timing register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SCLL" description="SCL low period (master mode)" start="0" size="8" />
      <BitField name="SCLH" description="SCL high period (master mode)" start="8" size="8" />
      <BitField name="SDADEL" description="Data hold time" start="16" size="4" />
      <BitField name="SCLDEL" description="Data setup time" start="20" size="4" />
      <BitField name="PRESC" description="Timing prescaler" start="28" size="4" />
    </Register>
    <Register name="TIMEOUTR" description="Status register 1" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TIMEOUTA" description="Bus timeout A" start="0" size="12" />
      <BitField name="TIDLE" description="Idle clock timeout detection" start="12" size="1" />
      <BitField name="TIMOUTEN" description="Clock timeout enable" start="15" size="1" />
      <BitField name="TIMEOUTB" description="Bus timeout B" start="16" size="12" />
      <BitField name="TEXTEN" description="Extended clock timeout enable" start="31" size="1" />
    </Register>
    <Register name="ISR" description="Interrupt and Status register" start="+0x18" size="4" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
      <BitField name="ADDCODE" description="Address match code (Slave mode)" start="17" size="7" access="ReadOnly" />
      <BitField name="DIR" description="Transfer direction (Slave mode)" start="16" size="1" access="ReadOnly" />
      <BitField name="BUSY" description="Bus busy" start="15" size="1" access="ReadOnly" />
      <BitField name="ALERT" description="SMBus alert" start="13" size="1" access="ReadOnly" />
      <BitField name="TIMEOUT" description="Timeout or t_low detection flag" start="12" size="1" access="ReadOnly" />
      <BitField name="PECERR" description="PEC Error in reception" start="11" size="1" access="ReadOnly" />
      <BitField name="OVR" description="Overrun/Underrun (slave mode)" start="10" size="1" access="ReadOnly" />
      <BitField name="ARLO" description="Arbitration lost" start="9" size="1" access="ReadOnly" />
      <BitField name="BERR" description="Bus error" start="8" size="1" access="ReadOnly" />
      <BitField name="TCR" description="Transfer Complete Reload" start="7" size="1" access="ReadOnly" />
      <BitField name="TC" description="Transfer Complete (master mode)" start="6" size="1" access="ReadOnly" />
      <BitField name="STOPF" description="Stop detection flag" start="5" size="1" access="ReadOnly" />
      <BitField name="NACKF" description="Not acknowledge received flag" start="4" size="1" access="ReadOnly" />
      <BitField name="ADDR" description="Address matched (slave mode)" start="3" size="1" access="ReadOnly" />
      <BitField name="RXNE" description="Receive data register not empty (receivers)" start="2" size="1" access="ReadOnly" />
      <BitField name="TXIS" description="Transmit interrupt status (transmitters)" start="1" size="1" access="Read/Write" />
      <BitField name="TXE" description="Transmit data register empty (transmitters)" start="0" size="1" access="Read/Write" />
    </Register>
    <Register name="ICR" description="Interrupt clear register" start="+0x1C" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ALERTCF" description="Alert flag clear" start="13" size="1" />
      <BitField name="TIMOUTCF" description="Timeout detection flag clear" start="12" size="1" />
      <BitField name="PECCF" description="PEC Error flag clear" start="11" size="1" />
      <BitField name="OVRCF" description="Overrun/Underrun flag clear" start="10" size="1" />
      <BitField name="ARLOCF" description="Arbitration lost flag clear" start="9" size="1" />
      <BitField name="BERRCF" description="Bus error flag clear" start="8" size="1" />
      <BitField name="STOPCF" description="Stop detection flag clear" start="5" size="1" />
      <BitField name="NACKCF" description="Not Acknowledge flag clear" start="4" size="1" />
      <BitField name="ADDRCF" description="Address Matched flag clear" start="3" size="1" />
    </Register>
    <Register name="PECR" description="PEC register" start="+0x20" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PEC" description="Packet error checking register" start="0" size="8" />
    </Register>
    <Register name="RXDR" description="Receive data register" start="+0x24" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXDATA" description="8-bit receive data" start="0" size="8" />
    </Register>
    <Register name="TXDR" description="Transmit data register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXDATA" description="8-bit transmit data" start="0" size="8" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="I2C2" description="Inter-integrated circuit" start="0x40005800">
    <Register name="CR1" description="Control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PE" description="Peripheral enable" start="0" size="1" />
      <BitField name="TXIE" description="TX Interrupt enable" start="1" size="1" />
      <BitField name="RXIE" description="RX Interrupt enable" start="2" size="1" />
      <BitField name="ADDRIE" description="Address match interrupt enable (slave only)" start="3" size="1" />
      <BitField name="NACKIE" description="Not acknowledge received interrupt enable" start="4" size="1" />
      <BitField name="STOPIE" description="STOP detection Interrupt enable" start="5" size="1" />
      <BitField name="TCIE" description="Transfer Complete interrupt enable" start="6" size="1" />
      <BitField name="ERRIE" description="Error interrupts enable" start="7" size="1" />
      <BitField name="DNF" description="Digital noise filter" start="8" size="4" />
      <BitField name="ANFOFF" description="Analog noise filter OFF" start="12" size="1" />
      <BitField name="TXDMAEN" description="DMA transmission requests enable" start="14" size="1" />
      <BitField name="RXDMAEN" description="DMA reception requests enable" start="15" size="1" />
      <BitField name="SBC" description="Slave byte control" start="16" size="1" />
      <BitField name="NOSTRETCH" description="Clock stretching disable" start="17" size="1" />
      <BitField name="WUPEN" description="Wakeup from STOP enable" start="18" size="1" />
      <BitField name="GCEN" description="General call enable" start="19" size="1" />
      <BitField name="SMBHEN" description="SMBus Host address enable" start="20" size="1" />
      <BitField name="SMBDEN" description="SMBus Device Default address enable" start="21" size="1" />
      <BitField name="ALERTEN" description="SMBUS alert enable" start="22" size="1" />
      <BitField name="PECEN" description="PEC enable" start="23" size="1" />
    </Register>
    <Register name="CR2" description="Control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PECBYTE" description="Packet error checking byte" start="26" size="1" />
      <BitField name="AUTOEND" description="Automatic end mode (master mode)" start="25" size="1" />
      <BitField name="RELOAD" description="NBYTES reload mode" start="24" size="1" />
      <BitField name="NBYTES" description="Number of bytes" start="16" size="8" />
      <BitField name="NACK" description="NACK generation (slave mode)" start="15" size="1" />
      <BitField name="STOP" description="Stop generation (master mode)" start="14" size="1" />
      <BitField name="START" description="Start generation" start="13" size="1" />
      <BitField name="HEAD10R" description="10-bit address header only read direction (master receiver mode)" start="12" size="1" />
      <BitField name="ADD10" description="10-bit addressing mode (master mode)" start="11" size="1" />
      <BitField name="RD_WRN" description="Transfer direction (master mode)" start="10" size="1" />
      <BitField name="SADD" description="Slave address bit (master mode)" start="0" size="10" />
    </Register>
    <Register name="OAR1" description="Own address register 1" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OA1" description="Interface address" start="0" size="10" />
      <BitField name="OA1MODE" description="Own Address 1 10-bit mode" start="10" size="1" />
      <BitField name="OA1EN" description="Own Address 1 enable" start="15" size="1" />
    </Register>
    <Register name="OAR2" description="Own address register 2" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OA2" description="Interface address" start="1" size="7" />
      <BitField name="OA2MSK" description="Own Address 2 masks" start="8" size="3" />
      <BitField name="OA2EN" description="Own Address 2 enable" start="15" size="1" />
    </Register>
    <Register name="TIMINGR" description="Timing register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SCLL" description="SCL low period (master mode)" start="0" size="8" />
      <BitField name="SCLH" description="SCL high period (master mode)" start="8" size="8" />
      <BitField name="SDADEL" description="Data hold time" start="16" size="4" />
      <BitField name="SCLDEL" description="Data setup time" start="20" size="4" />
      <BitField name="PRESC" description="Timing prescaler" start="28" size="4" />
    </Register>
    <Register name="TIMEOUTR" description="Status register 1" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TIMEOUTA" description="Bus timeout A" start="0" size="12" />
      <BitField name="TIDLE" description="Idle clock timeout detection" start="12" size="1" />
      <BitField name="TIMOUTEN" description="Clock timeout enable" start="15" size="1" />
      <BitField name="TIMEOUTB" description="Bus timeout B" start="16" size="12" />
      <BitField name="TEXTEN" description="Extended clock timeout enable" start="31" size="1" />
    </Register>
    <Register name="ISR" description="Interrupt and Status register" start="+0x18" size="4" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
      <BitField name="ADDCODE" description="Address match code (Slave mode)" start="17" size="7" access="ReadOnly" />
      <BitField name="DIR" description="Transfer direction (Slave mode)" start="16" size="1" access="ReadOnly" />
      <BitField name="BUSY" description="Bus busy" start="15" size="1" access="ReadOnly" />
      <BitField name="ALERT" description="SMBus alert" start="13" size="1" access="ReadOnly" />
      <BitField name="TIMEOUT" description="Timeout or t_low detection flag" start="12" size="1" access="ReadOnly" />
      <BitField name="PECERR" description="PEC Error in reception" start="11" size="1" access="ReadOnly" />
      <BitField name="OVR" description="Overrun/Underrun (slave mode)" start="10" size="1" access="ReadOnly" />
      <BitField name="ARLO" description="Arbitration lost" start="9" size="1" access="ReadOnly" />
      <BitField name="BERR" description="Bus error" start="8" size="1" access="ReadOnly" />
      <BitField name="TCR" description="Transfer Complete Reload" start="7" size="1" access="ReadOnly" />
      <BitField name="TC" description="Transfer Complete (master mode)" start="6" size="1" access="ReadOnly" />
      <BitField name="STOPF" description="Stop detection flag" start="5" size="1" access="ReadOnly" />
      <BitField name="NACKF" description="Not acknowledge received flag" start="4" size="1" access="ReadOnly" />
      <BitField name="ADDR" description="Address matched (slave mode)" start="3" size="1" access="ReadOnly" />
      <BitField name="RXNE" description="Receive data register not empty (receivers)" start="2" size="1" access="ReadOnly" />
      <BitField name="TXIS" description="Transmit interrupt status (transmitters)" start="1" size="1" access="Read/Write" />
      <BitField name="TXE" description="Transmit data register empty (transmitters)" start="0" size="1" access="Read/Write" />
    </Register>
    <Register name="ICR" description="Interrupt clear register" start="+0x1C" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ALERTCF" description="Alert flag clear" start="13" size="1" />
      <BitField name="TIMOUTCF" description="Timeout detection flag clear" start="12" size="1" />
      <BitField name="PECCF" description="PEC Error flag clear" start="11" size="1" />
      <BitField name="OVRCF" description="Overrun/Underrun flag clear" start="10" size="1" />
      <BitField name="ARLOCF" description="Arbitration lost flag clear" start="9" size="1" />
      <BitField name="BERRCF" description="Bus error flag clear" start="8" size="1" />
      <BitField name="STOPCF" description="Stop detection flag clear" start="5" size="1" />
      <BitField name="NACKCF" description="Not Acknowledge flag clear" start="4" size="1" />
      <BitField name="ADDRCF" description="Address Matched flag clear" start="3" size="1" />
    </Register>
    <Register name="PECR" description="PEC register" start="+0x20" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PEC" description="Packet error checking register" start="0" size="8" />
    </Register>
    <Register name="RXDR" description="Receive data register" start="+0x24" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXDATA" description="8-bit receive data" start="0" size="8" />
    </Register>
    <Register name="TXDR" description="Transmit data register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXDATA" description="8-bit transmit data" start="0" size="8" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="I2C3" description="Inter-integrated circuit" start="0x40007800">
    <Register name="CR1" description="Control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PE" description="Peripheral enable" start="0" size="1" />
      <BitField name="TXIE" description="TX Interrupt enable" start="1" size="1" />
      <BitField name="RXIE" description="RX Interrupt enable" start="2" size="1" />
      <BitField name="ADDRIE" description="Address match interrupt enable (slave only)" start="3" size="1" />
      <BitField name="NACKIE" description="Not acknowledge received interrupt enable" start="4" size="1" />
      <BitField name="STOPIE" description="STOP detection Interrupt enable" start="5" size="1" />
      <BitField name="TCIE" description="Transfer Complete interrupt enable" start="6" size="1" />
      <BitField name="ERRIE" description="Error interrupts enable" start="7" size="1" />
      <BitField name="DNF" description="Digital noise filter" start="8" size="4" />
      <BitField name="ANFOFF" description="Analog noise filter OFF" start="12" size="1" />
      <BitField name="TXDMAEN" description="DMA transmission requests enable" start="14" size="1" />
      <BitField name="RXDMAEN" description="DMA reception requests enable" start="15" size="1" />
      <BitField name="SBC" description="Slave byte control" start="16" size="1" />
      <BitField name="NOSTRETCH" description="Clock stretching disable" start="17" size="1" />
      <BitField name="WUPEN" description="Wakeup from STOP enable" start="18" size="1" />
      <BitField name="GCEN" description="General call enable" start="19" size="1" />
      <BitField name="SMBHEN" description="SMBus Host address enable" start="20" size="1" />
      <BitField name="SMBDEN" description="SMBus Device Default address enable" start="21" size="1" />
      <BitField name="ALERTEN" description="SMBUS alert enable" start="22" size="1" />
      <BitField name="PECEN" description="PEC enable" start="23" size="1" />
    </Register>
    <Register name="CR2" description="Control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PECBYTE" description="Packet error checking byte" start="26" size="1" />
      <BitField name="AUTOEND" description="Automatic end mode (master mode)" start="25" size="1" />
      <BitField name="RELOAD" description="NBYTES reload mode" start="24" size="1" />
      <BitField name="NBYTES" description="Number of bytes" start="16" size="8" />
      <BitField name="NACK" description="NACK generation (slave mode)" start="15" size="1" />
      <BitField name="STOP" description="Stop generation (master mode)" start="14" size="1" />
      <BitField name="START" description="Start generation" start="13" size="1" />
      <BitField name="HEAD10R" description="10-bit address header only read direction (master receiver mode)" start="12" size="1" />
      <BitField name="ADD10" description="10-bit addressing mode (master mode)" start="11" size="1" />
      <BitField name="RD_WRN" description="Transfer direction (master mode)" start="10" size="1" />
      <BitField name="SADD" description="Slave address bit (master mode)" start="0" size="10" />
    </Register>
    <Register name="OAR1" description="Own address register 1" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OA1" description="Interface address" start="0" size="10" />
      <BitField name="OA1MODE" description="Own Address 1 10-bit mode" start="10" size="1" />
      <BitField name="OA1EN" description="Own Address 1 enable" start="15" size="1" />
    </Register>
    <Register name="OAR2" description="Own address register 2" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OA2" description="Interface address" start="1" size="7" />
      <BitField name="OA2MSK" description="Own Address 2 masks" start="8" size="3" />
      <BitField name="OA2EN" description="Own Address 2 enable" start="15" size="1" />
    </Register>
    <Register name="TIMINGR" description="Timing register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SCLL" description="SCL low period (master mode)" start="0" size="8" />
      <BitField name="SCLH" description="SCL high period (master mode)" start="8" size="8" />
      <BitField name="SDADEL" description="Data hold time" start="16" size="4" />
      <BitField name="SCLDEL" description="Data setup time" start="20" size="4" />
      <BitField name="PRESC" description="Timing prescaler" start="28" size="4" />
    </Register>
    <Register name="TIMEOUTR" description="Status register 1" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TIMEOUTA" description="Bus timeout A" start="0" size="12" />
      <BitField name="TIDLE" description="Idle clock timeout detection" start="12" size="1" />
      <BitField name="TIMOUTEN" description="Clock timeout enable" start="15" size="1" />
      <BitField name="TIMEOUTB" description="Bus timeout B" start="16" size="12" />
      <BitField name="TEXTEN" description="Extended clock timeout enable" start="31" size="1" />
    </Register>
    <Register name="ISR" description="Interrupt and Status register" start="+0x18" size="4" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
      <BitField name="ADDCODE" description="Address match code (Slave mode)" start="17" size="7" access="ReadOnly" />
      <BitField name="DIR" description="Transfer direction (Slave mode)" start="16" size="1" access="ReadOnly" />
      <BitField name="BUSY" description="Bus busy" start="15" size="1" access="ReadOnly" />
      <BitField name="ALERT" description="SMBus alert" start="13" size="1" access="ReadOnly" />
      <BitField name="TIMEOUT" description="Timeout or t_low detection flag" start="12" size="1" access="ReadOnly" />
      <BitField name="PECERR" description="PEC Error in reception" start="11" size="1" access="ReadOnly" />
      <BitField name="OVR" description="Overrun/Underrun (slave mode)" start="10" size="1" access="ReadOnly" />
      <BitField name="ARLO" description="Arbitration lost" start="9" size="1" access="ReadOnly" />
      <BitField name="BERR" description="Bus error" start="8" size="1" access="ReadOnly" />
      <BitField name="TCR" description="Transfer Complete Reload" start="7" size="1" access="ReadOnly" />
      <BitField name="TC" description="Transfer Complete (master mode)" start="6" size="1" access="ReadOnly" />
      <BitField name="STOPF" description="Stop detection flag" start="5" size="1" access="ReadOnly" />
      <BitField name="NACKF" description="Not acknowledge received flag" start="4" size="1" access="ReadOnly" />
      <BitField name="ADDR" description="Address matched (slave mode)" start="3" size="1" access="ReadOnly" />
      <BitField name="RXNE" description="Receive data register not empty (receivers)" start="2" size="1" access="ReadOnly" />
      <BitField name="TXIS" description="Transmit interrupt status (transmitters)" start="1" size="1" access="Read/Write" />
      <BitField name="TXE" description="Transmit data register empty (transmitters)" start="0" size="1" access="Read/Write" />
    </Register>
    <Register name="ICR" description="Interrupt clear register" start="+0x1C" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ALERTCF" description="Alert flag clear" start="13" size="1" />
      <BitField name="TIMOUTCF" description="Timeout detection flag clear" start="12" size="1" />
      <BitField name="PECCF" description="PEC Error flag clear" start="11" size="1" />
      <BitField name="OVRCF" description="Overrun/Underrun flag clear" start="10" size="1" />
      <BitField name="ARLOCF" description="Arbitration lost flag clear" start="9" size="1" />
      <BitField name="BERRCF" description="Bus error flag clear" start="8" size="1" />
      <BitField name="STOPCF" description="Stop detection flag clear" start="5" size="1" />
      <BitField name="NACKCF" description="Not Acknowledge flag clear" start="4" size="1" />
      <BitField name="ADDRCF" description="Address Matched flag clear" start="3" size="1" />
    </Register>
    <Register name="PECR" description="PEC register" start="+0x20" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PEC" description="Packet error checking register" start="0" size="8" />
    </Register>
    <Register name="RXDR" description="Receive data register" start="+0x24" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXDATA" description="8-bit receive data" start="0" size="8" />
    </Register>
    <Register name="TXDR" description="Transmit data register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXDATA" description="8-bit transmit data" start="0" size="8" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="I2C4" description="Inter-integrated circuit" start="0x40008400">
    <Register name="CR1" description="Control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PE" description="Peripheral enable" start="0" size="1" />
      <BitField name="TXIE" description="TX Interrupt enable" start="1" size="1" />
      <BitField name="RXIE" description="RX Interrupt enable" start="2" size="1" />
      <BitField name="ADDRIE" description="Address match interrupt enable (slave only)" start="3" size="1" />
      <BitField name="NACKIE" description="Not acknowledge received interrupt enable" start="4" size="1" />
      <BitField name="STOPIE" description="STOP detection Interrupt enable" start="5" size="1" />
      <BitField name="TCIE" description="Transfer Complete interrupt enable" start="6" size="1" />
      <BitField name="ERRIE" description="Error interrupts enable" start="7" size="1" />
      <BitField name="DNF" description="Digital noise filter" start="8" size="4" />
      <BitField name="ANFOFF" description="Analog noise filter OFF" start="12" size="1" />
      <BitField name="TXDMAEN" description="DMA transmission requests enable" start="14" size="1" />
      <BitField name="RXDMAEN" description="DMA reception requests enable" start="15" size="1" />
      <BitField name="SBC" description="Slave byte control" start="16" size="1" />
      <BitField name="NOSTRETCH" description="Clock stretching disable" start="17" size="1" />
      <BitField name="WUPEN" description="Wakeup from STOP enable" start="18" size="1" />
      <BitField name="GCEN" description="General call enable" start="19" size="1" />
      <BitField name="SMBHEN" description="SMBus Host address enable" start="20" size="1" />
      <BitField name="SMBDEN" description="SMBus Device Default address enable" start="21" size="1" />
      <BitField name="ALERTEN" description="SMBUS alert enable" start="22" size="1" />
      <BitField name="PECEN" description="PEC enable" start="23" size="1" />
    </Register>
    <Register name="CR2" description="Control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PECBYTE" description="Packet error checking byte" start="26" size="1" />
      <BitField name="AUTOEND" description="Automatic end mode (master mode)" start="25" size="1" />
      <BitField name="RELOAD" description="NBYTES reload mode" start="24" size="1" />
      <BitField name="NBYTES" description="Number of bytes" start="16" size="8" />
      <BitField name="NACK" description="NACK generation (slave mode)" start="15" size="1" />
      <BitField name="STOP" description="Stop generation (master mode)" start="14" size="1" />
      <BitField name="START" description="Start generation" start="13" size="1" />
      <BitField name="HEAD10R" description="10-bit address header only read direction (master receiver mode)" start="12" size="1" />
      <BitField name="ADD10" description="10-bit addressing mode (master mode)" start="11" size="1" />
      <BitField name="RD_WRN" description="Transfer direction (master mode)" start="10" size="1" />
      <BitField name="SADD" description="Slave address bit (master mode)" start="0" size="10" />
    </Register>
    <Register name="OAR1" description="Own address register 1" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OA1" description="Interface address" start="0" size="10" />
      <BitField name="OA1MODE" description="Own Address 1 10-bit mode" start="10" size="1" />
      <BitField name="OA1EN" description="Own Address 1 enable" start="15" size="1" />
    </Register>
    <Register name="OAR2" description="Own address register 2" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OA2" description="Interface address" start="1" size="7" />
      <BitField name="OA2MSK" description="Own Address 2 masks" start="8" size="3" />
      <BitField name="OA2EN" description="Own Address 2 enable" start="15" size="1" />
    </Register>
    <Register name="TIMINGR" description="Timing register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SCLL" description="SCL low period (master mode)" start="0" size="8" />
      <BitField name="SCLH" description="SCL high period (master mode)" start="8" size="8" />
      <BitField name="SDADEL" description="Data hold time" start="16" size="4" />
      <BitField name="SCLDEL" description="Data setup time" start="20" size="4" />
      <BitField name="PRESC" description="Timing prescaler" start="28" size="4" />
    </Register>
    <Register name="TIMEOUTR" description="Status register 1" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TIMEOUTA" description="Bus timeout A" start="0" size="12" />
      <BitField name="TIDLE" description="Idle clock timeout detection" start="12" size="1" />
      <BitField name="TIMOUTEN" description="Clock timeout enable" start="15" size="1" />
      <BitField name="TIMEOUTB" description="Bus timeout B" start="16" size="12" />
      <BitField name="TEXTEN" description="Extended clock timeout enable" start="31" size="1" />
    </Register>
    <Register name="ISR" description="Interrupt and Status register" start="+0x18" size="4" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
      <BitField name="ADDCODE" description="Address match code (Slave mode)" start="17" size="7" access="ReadOnly" />
      <BitField name="DIR" description="Transfer direction (Slave mode)" start="16" size="1" access="ReadOnly" />
      <BitField name="BUSY" description="Bus busy" start="15" size="1" access="ReadOnly" />
      <BitField name="ALERT" description="SMBus alert" start="13" size="1" access="ReadOnly" />
      <BitField name="TIMEOUT" description="Timeout or t_low detection flag" start="12" size="1" access="ReadOnly" />
      <BitField name="PECERR" description="PEC Error in reception" start="11" size="1" access="ReadOnly" />
      <BitField name="OVR" description="Overrun/Underrun (slave mode)" start="10" size="1" access="ReadOnly" />
      <BitField name="ARLO" description="Arbitration lost" start="9" size="1" access="ReadOnly" />
      <BitField name="BERR" description="Bus error" start="8" size="1" access="ReadOnly" />
      <BitField name="TCR" description="Transfer Complete Reload" start="7" size="1" access="ReadOnly" />
      <BitField name="TC" description="Transfer Complete (master mode)" start="6" size="1" access="ReadOnly" />
      <BitField name="STOPF" description="Stop detection flag" start="5" size="1" access="ReadOnly" />
      <BitField name="NACKF" description="Not acknowledge received flag" start="4" size="1" access="ReadOnly" />
      <BitField name="ADDR" description="Address matched (slave mode)" start="3" size="1" access="ReadOnly" />
      <BitField name="RXNE" description="Receive data register not empty (receivers)" start="2" size="1" access="ReadOnly" />
      <BitField name="TXIS" description="Transmit interrupt status (transmitters)" start="1" size="1" access="Read/Write" />
      <BitField name="TXE" description="Transmit data register empty (transmitters)" start="0" size="1" access="Read/Write" />
    </Register>
    <Register name="ICR" description="Interrupt clear register" start="+0x1C" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ALERTCF" description="Alert flag clear" start="13" size="1" />
      <BitField name="TIMOUTCF" description="Timeout detection flag clear" start="12" size="1" />
      <BitField name="PECCF" description="PEC Error flag clear" start="11" size="1" />
      <BitField name="OVRCF" description="Overrun/Underrun flag clear" start="10" size="1" />
      <BitField name="ARLOCF" description="Arbitration lost flag clear" start="9" size="1" />
      <BitField name="BERRCF" description="Bus error flag clear" start="8" size="1" />
      <BitField name="STOPCF" description="Stop detection flag clear" start="5" size="1" />
      <BitField name="NACKCF" description="Not Acknowledge flag clear" start="4" size="1" />
      <BitField name="ADDRCF" description="Address Matched flag clear" start="3" size="1" />
    </Register>
    <Register name="PECR" description="PEC register" start="+0x20" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PEC" description="Packet error checking register" start="0" size="8" />
    </Register>
    <Register name="RXDR" description="Receive data register" start="+0x24" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXDATA" description="8-bit receive data" start="0" size="8" />
    </Register>
    <Register name="TXDR" description="Transmit data register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXDATA" description="8-bit transmit data" start="0" size="8" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="FLASH" description="Flash" start="0x40022000">
    <Register name="ACR" description="Access control register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000600" reset_mask="0xFFFFFFFF">
      <BitField name="LATENCY" description="Latency" start="0" size="4" />
      <BitField name="PRFTEN" description="Prefetch enable" start="8" size="1" />
      <BitField name="ICEN" description="Instruction cache enable" start="9" size="1" />
      <BitField name="DCEN" description="Data cache enable" start="10" size="1" />
      <BitField name="ICRST" description="Instruction cache reset" start="11" size="1" />
      <BitField name="DCRST" description="Data cache reset" start="12" size="1" />
      <BitField name="RUN_PD" description="Flash Power-down mode during Low-power run mode" start="13" size="1" />
      <BitField name="SLEEP_PD" description="Flash Power-down mode during Low-power sleep mode" start="14" size="1" />
      <BitField name="DBG_SWEN" description="Debug software enable" start="18" size="1" />
    </Register>
    <Register name="PDKEYR" description="Power down key register" start="+0x4" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PDKEYR" description="RUN_PD in FLASH_ACR key" start="0" size="32" />
    </Register>
    <Register name="KEYR" description="Flash key register" start="+0x8" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="KEYR" description="KEYR" start="0" size="32" />
    </Register>
    <Register name="OPTKEYR" description="Option byte key register" start="+0xC" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OPTKEYR" description="Option byte key" start="0" size="32" />
    </Register>
    <Register name="SR" description="Status register" start="+0x10" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EOP" description="End of operation" start="0" size="1" access="Read/Write" />
      <BitField name="OPERR" description="Operation error" start="1" size="1" access="Read/Write" />
      <BitField name="PROGERR" description="Programming error" start="3" size="1" access="Read/Write" />
      <BitField name="WRPERR" description="Write protected error" start="4" size="1" access="Read/Write" />
      <BitField name="PGAERR" description="Programming alignment error" start="5" size="1" access="Read/Write" />
      <BitField name="SIZERR" description="Size error" start="6" size="1" access="Read/Write" />
      <BitField name="PGSERR" description="Programming sequence error" start="7" size="1" access="Read/Write" />
      <BitField name="MISERR" description="Fast programming data miss error" start="8" size="1" access="Read/Write" />
      <BitField name="FASTERR" description="Fast programming error" start="9" size="1" access="Read/Write" />
      <BitField name="RDERR" description="PCROP read error" start="14" size="1" access="Read/Write" />
      <BitField name="OPTVERR" description="Option validity error" start="15" size="1" access="Read/Write" />
      <BitField name="BSY" description="Busy" start="16" size="1" access="ReadOnly" />
    </Register>
    <Register name="CR" description="Flash control register" start="+0x14" size="4" access="Read/Write" reset_value="0xC0000000" reset_mask="0xFFFFFFFF">
      <BitField name="PG" description="Programming" start="0" size="1" />
      <BitField name="PER" description="Page erase" start="1" size="1" />
      <BitField name="MER1" description="Bank 1 Mass erase" start="2" size="1" />
      <BitField name="PNB" description="Page number" start="3" size="7" />
      <BitField name="STRT" description="Start" start="16" size="1" />
      <BitField name="OPTSTRT" description="Options modification start" start="17" size="1" />
      <BitField name="FSTPG" description="Fast programming" start="18" size="1" />
      <BitField name="EOPIE" description="End of operation interrupt enable" start="24" size="1" />
      <BitField name="ERRIE" description="Error interrupt enable" start="25" size="1" />
      <BitField name="RDERRIE" description="PCROP read error interrupt enable" start="26" size="1" />
      <BitField name="OBL_LAUNCH" description="Force the option byte loading" start="27" size="1" />
      <BitField name="SEC_PROT1" description="SEC_PROT1" start="28" size="1" />
      <BitField name="OPTLOCK" description="Options Lock" start="30" size="1" />
      <BitField name="LOCK" description="FLASH_CR Lock" start="31" size="1" />
    </Register>
    <Register name="ECCR" description="Flash ECC register" start="+0x18" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ADDR_ECC" description="ECC fail address" start="0" size="19" access="ReadOnly" />
      <BitField name="BK_ECC" description="BK_ECC" start="21" size="1" access="ReadOnly" />
      <BitField name="SYSF_ECC" description="SYSF_ECC" start="22" size="1" access="ReadOnly" />
      <BitField name="ECCIE" description="ECCIE" start="24" size="1" access="Read/Write" />
      <BitField name="ECCC2" description="ECC correction" start="28" size="1" access="Read/Write" />
      <BitField name="ECCD2" description="ECC2 detection" start="29" size="1" access="Read/Write" />
      <BitField name="ECCC" description="ECC correction" start="30" size="1" access="Read/Write" />
      <BitField name="ECCD" description="ECC detection" start="31" size="1" access="Read/Write" />
    </Register>
    <Register name="OPTR" description="Flash option register" start="+0x20" size="4" access="Read/Write" reset_value="0xF0000000" reset_mask="0xFFFFFFFF">
      <BitField name="RDP" description="Read protection level" start="0" size="8" />
      <BitField name="BOR_LEV" description="BOR reset Level" start="8" size="3" />
      <BitField name="nRST_STOP" description="nRST_STOP" start="12" size="1" />
      <BitField name="nRST_STDBY" description="nRST_STDBY" start="13" size="1" />
      <BitField name="nRST_SHDW" description="nRST_SHDW" start="14" size="1" />
      <BitField name="IDWG_SW" description="Independent watchdog selection" start="16" size="1" />
      <BitField name="IWDG_STOP" description="Independent watchdog counter freeze in Stop mode" start="17" size="1" />
      <BitField name="IWDG_STDBY" description="Independent watchdog counter freeze in Standby mode" start="18" size="1" />
      <BitField name="WWDG_SW" description="Window watchdog selection" start="19" size="1" />
      <BitField name="nBOOT1" description="Boot configuration" start="23" size="1" />
      <BitField name="SRAM2_PE" description="SRAM2 parity check enable" start="24" size="1" />
      <BitField name="SRAM2_RST" description="SRAM2 Erase when system reset" start="25" size="1" />
      <BitField name="nSWBOOT0" description="nSWBOOT0" start="26" size="1" />
      <BitField name="nBOOT0" description="nBOOT0" start="27" size="1" />
      <BitField name="NRST_MODE" description="NRST_MODE" start="28" size="2" />
      <BitField name="IRHEN" description="IRHEN" start="30" size="1" />
    </Register>
    <Register name="PCROP1SR" description="Flash Bank 1 PCROP Start address register" start="+0x24" size="4" access="Read/Write" reset_value="0xFFFF0000" reset_mask="0xFFFFFFFF">
      <BitField name="PCROP1_STRT" description="Bank 1 PCROP area start offset" start="0" size="15" />
    </Register>
    <Register name="PCROP1ER" description="Flash Bank 1 PCROP End address register" start="+0x28" size="4" access="Read/Write" reset_value="0x0FFF0000" reset_mask="0xFFFFFFFF">
      <BitField name="PCROP1_END" description="Bank 1 PCROP area end offset" start="0" size="15" />
      <BitField name="PCROP_RDP" description="PCROP area preserved when RDP level decreased" start="31" size="1" />
    </Register>
    <Register name="WRP1AR" description="Flash Bank 1 WRP area A address register" start="+0x2C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="WRP1A_STRT" description="Bank 1 WRP first area start offset" start="0" size="7" />
      <BitField name="WRP1A_END" description="Bank 1 WRP first area A end offset" start="16" size="7" />
    </Register>
    <Register name="WRP1BR" description="Flash Bank 1 WRP area B address register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="WRP1B_STRT" description="Bank 1 WRP second area B end offset" start="0" size="7" />
      <BitField name="WRP1B_END" description="Bank 1 WRP second area B start offset" start="16" size="7" />
    </Register>
    <Register name="SEC1R" description="securable area bank1 register" start="+0x70" size="4" access="Read/Write" reset_value="0xFF00FF00" reset_mask="0xFFFFFFFF">
      <BitField name="BOOT_LOCK" description="BOOT_LOCK" start="16" size="1" />
      <BitField name="SEC_SIZE1" description="SEC_SIZE1" start="0" size="8" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="DBGMCU" description="Debug support" start="0xE0042000">
    <Register name="IDCODE" description="MCU Device ID Code Register" start="+0x0" size="4" access="ReadOnly" reset_value="0x0" reset_mask="0xFFFFFFFF">
      <BitField name="DEV_ID" description="Device Identifier" start="0" size="16" />
      <BitField name="REV_ID" description="Revision Identifier" start="16" size="16" />
    </Register>
    <Register name="CR" description="Debug MCU Configuration Register" start="+0x4" size="4" access="Read/Write" reset_value="0x0" reset_mask="0xFFFFFFFF">
      <BitField name="DBG_SLEEP" description="Debug Sleep Mode" start="0" size="1" />
      <BitField name="DBG_STOP" description="Debug Stop Mode" start="1" size="1" />
      <BitField name="DBG_STANDBY" description="Debug Standby Mode" start="2" size="1" />
      <BitField name="TRACE_IOEN" description="Trace pin assignment control" start="5" size="1" />
      <BitField name="TRACE_MODE" description="Trace pin assignment control" start="6" size="2" />
    </Register>
    <Register name="APB1L_FZ" description="APB Low Freeze Register 1" start="+0x8" size="4" access="Read/Write" reset_value="0x0" reset_mask="0xFFFFFFFF">
      <BitField name="DBG_TIMER2_STOP" description="Debug Timer 2 stopped when Core is halted" start="0" size="1" />
      <BitField name="DBG_TIM3_STOP" description="TIM3 counter stopped when core is halted" start="1" size="1" />
      <BitField name="DBG_TIM4_STOP" description="TIM4 counter stopped when core is halted" start="2" size="1" />
      <BitField name="DBG_TIM5_STOP" description="TIM5 counter stopped when core is halted" start="3" size="1" />
      <BitField name="DBG_TIMER6_STOP" description="Debug Timer 6 stopped when Core is halted" start="4" size="1" />
      <BitField name="DBG_TIM7_STOP" description="TIM7 counter stopped when core is halted" start="5" size="1" />
      <BitField name="DBG_RTC_STOP" description="Debug RTC stopped when Core is halted" start="10" size="1" />
      <BitField name="DBG_WWDG_STOP" description="Debug Window Wachdog stopped when Core is halted" start="11" size="1" />
      <BitField name="DBG_IWDG_STOP" description="Debug Independent Wachdog stopped when Core is halted" start="12" size="1" />
      <BitField name="DBG_I2C1_STOP" description="I2C1 SMBUS timeout mode stopped when core is halted" start="21" size="1" />
      <BitField name="DBG_I2C2_STOP" description="I2C2 SMBUS timeout mode stopped when core is halted" start="22" size="1" />
      <BitField name="DBG_I2C3_STOP" description="I2C3 SMBUS timeout mode stopped when core is halted" start="30" size="1" />
      <BitField name="DBG_LPTIMER_STOP" description="LPTIM1 counter stopped when core is halted" start="31" size="1" />
    </Register>
    <Register name="APB1H_FZ" description="APB Low Freeze Register 2" start="+0xC" size="4" access="Read/Write" reset_value="0x0" reset_mask="0xFFFFFFFF">
      <BitField name="DBG_I2C4_STOP" description="DBG_I2C4_STOP" start="1" size="1" />
    </Register>
    <Register name="APB2_FZ" description="APB High Freeze Register" start="+0x10" size="4" access="Read/Write" reset_value="0x0" reset_mask="0xFFFFFFFF">
      <BitField name="DBG_TIM1_STOP" description="TIM1 counter stopped when core is halted" start="11" size="1" />
      <BitField name="DBG_TIM8_STOP" description="TIM8 counter stopped when core is halted" start="13" size="1" />
      <BitField name="DBG_TIM15_STOP" description="TIM15 counter stopped when core is halted" start="16" size="1" />
      <BitField name="DBG_TIM16_STOP" description="TIM16 counter stopped when core is halted" start="17" size="1" />
      <BitField name="DBG_TIM17_STOP" description="TIM17 counter stopped when core is halted" start="18" size="1" />
      <BitField name="DBG_TIM20_STOP" description="TIM20counter stopped when core is halted" start="20" size="1" />
      <BitField name="DBG_HRTIM0_STOP" description="DBG_HRTIM0_STOP" start="26" size="1" />
      <BitField name="DBG_HRTIM1_STOP" description="DBG_HRTIM0_STOP" start="27" size="1" />
      <BitField name="DBG_HRTIM2_STOP" description="DBG_HRTIM0_STOP" start="28" size="1" />
      <BitField name="DBG_HRTIM3_STOP" description="DBG_HRTIM0_STOP" start="29" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="RCC" description="Reset and clock control" start="0x40021000">
    <Register name="CR" description="Clock control register" start="+0x0" size="4" reset_value="0x00000063" reset_mask="0xFFFFFFFF">
      <BitField name="PLLSYSRDY" description="Main PLL clock ready flag" start="25" size="1" access="ReadOnly" />
      <BitField name="PLLSYSON" description="Main PLL enable" start="24" size="1" access="Read/Write" />
      <BitField name="HSECSSON" description="Clock security system enable" start="19" size="1" access="WriteOnly" />
      <BitField name="HSEBYP" description="HSE crystal oscillator bypass" start="18" size="1" access="Read/Write" />
      <BitField name="HSERDY" description="HSE clock ready flag" start="17" size="1" access="ReadOnly" />
      <BitField name="HSEON" description="HSE clock enable" start="16" size="1" access="Read/Write" />
      <BitField name="HSIRDY" description="HSI clock ready flag" start="10" size="1" access="ReadOnly" />
      <BitField name="HSIKERON" description="HSI always enable for peripheral kernels" start="9" size="1" access="Read/Write" />
      <BitField name="HSION" description="HSI clock enable" start="8" size="1" access="Read/Write" />
    </Register>
    <Register name="ICSCR" description="Internal clock sources calibration register" start="+0x4" size="4" reset_value="0x40000000" reset_mask="0xFFFFFFFF">
      <BitField name="HSICAL0" description="Internal High Speed clock Calibration" start="16" size="8" access="ReadOnly" />
      <BitField name="HSITRIM" description="Internal High Speed clock trimming" start="24" size="7" access="Read/Write" />
    </Register>
    <Register name="CFGR" description="Clock configuration register" start="+0x8" size="4" reset_value="0x00000005" reset_mask="0xFFFFFFFF">
      <BitField name="MCOPRE" description="Microcontroller clock output prescaler" start="28" size="3" access="Read/Write" />
      <BitField name="MCOSEL" description="Microcontroller clock output" start="24" size="4" access="Read/Write" />
      <BitField name="PPRE2" description="APB high-speed prescaler (APB2)" start="11" size="3" access="Read/Write" />
      <BitField name="PPRE1" description="PB low-speed prescaler (APB1)" start="8" size="3" access="Read/Write" />
      <BitField name="HPRE" description="AHB prescaler" start="4" size="4" access="Read/Write" />
      <BitField name="SWS" description="System clock switch status" start="2" size="2" access="ReadOnly" />
      <BitField name="SW" description="System clock switch" start="0" size="2" access="Read/Write" />
    </Register>
    <Register name="PLLSYSCFGR" description="PLL configuration register" start="+0xC" size="4" access="Read/Write" reset_value="0x00001000" reset_mask="0xFFFFFFFF">
      <BitField name="PLLSYSPDIV" description="Main PLL division factor for PLLSAI2CLK" start="27" size="5" />
      <BitField name="PLLSYSR" description="Main PLL division factor for PLLCLK (system clock)" start="25" size="2" />
      <BitField name="PLLSYSREN" description="Main PLL PLLCLK output enable" start="24" size="1" />
      <BitField name="PLLSYSQ" description="Main PLL division factor for PLLUSB1CLK(48 MHz clock)" start="21" size="2" />
      <BitField name="PLLSYSQEN" description="Main PLL PLLUSB1CLK output enable" start="20" size="1" />
      <BitField name="PLLSYSP" description="Main PLL division factor for PLLSAI3CLK (SAI1 and SAI2 clock)" start="17" size="1" />
      <BitField name="PLLPEN" description="Main PLL PLLSAI3CLK output enable" start="16" size="1" />
      <BitField name="PLLSYSN" description="Main PLL multiplication factor for VCO" start="8" size="7" />
      <BitField name="PLLSYSM" description="Division factor for the main PLL and audio PLL (PLLSAI1 and PLLSAI2) input clock" start="4" size="4" />
      <BitField name="PLLSRC" description="Main PLL, PLLSAI1 and PLLSAI2 entry clock source" start="0" size="2" />
    </Register>
    <Register name="CIER" description="Clock interrupt enable register" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LSIRDYIE" description="LSI ready interrupt enable" start="0" size="1" />
      <BitField name="LSERDYIE" description="LSE ready interrupt enable" start="1" size="1" />
      <BitField name="HSIRDYIE" description="HSI ready interrupt enable" start="3" size="1" />
      <BitField name="HSERDYIE" description="HSE ready interrupt enable" start="4" size="1" />
      <BitField name="PLLSYSRDYIE" description="PLL ready interrupt enable" start="5" size="1" />
      <BitField name="LSECSSIE" description="LSE clock security system interrupt enable" start="9" size="1" />
      <BitField name="RC48RDYIE" description="HSI48 ready interrupt enable" start="10" size="1" />
    </Register>
    <Register name="CIFR" description="Clock interrupt flag register" start="+0x1C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LSIRDYF" description="LSI ready interrupt flag" start="0" size="1" />
      <BitField name="LSERDYF" description="LSE ready interrupt flag" start="1" size="1" />
      <BitField name="HSIRDYF" description="HSI ready interrupt flag" start="3" size="1" />
      <BitField name="HSERDYF" description="HSE ready interrupt flag" start="4" size="1" />
      <BitField name="PLLSYSRDYF" description="PLL ready interrupt flag" start="5" size="1" />
      <BitField name="HSECSSF" description="Clock security system interrupt flag" start="8" size="1" />
      <BitField name="LSECSSF" description="LSE Clock security system interrupt flag" start="9" size="1" />
      <BitField name="RC48RDYF" description="HSI48 ready interrupt flag" start="10" size="1" />
    </Register>
    <Register name="CICR" description="Clock interrupt clear register" start="+0x20" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LSIRDYC" description="LSI ready interrupt clear" start="0" size="1" />
      <BitField name="LSERDYC" description="LSE ready interrupt clear" start="1" size="1" />
      <BitField name="HSIRDYC" description="HSI ready interrupt clear" start="3" size="1" />
      <BitField name="HSERDYC" description="HSE ready interrupt clear" start="4" size="1" />
      <BitField name="PLLSYSRDYC" description="PLL ready interrupt clear" start="5" size="1" />
      <BitField name="HSECSSC" description="Clock security system interrupt clear" start="8" size="1" />
      <BitField name="LSECSSC" description="LSE Clock security system interrupt clear" start="9" size="1" />
      <BitField name="RC48RDYC" description="HSI48 oscillator ready interrupt clear" start="10" size="1" />
    </Register>
    <Register name="AHB1RSTR" description="AHB1 peripheral reset register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMA1RST" description="DMA1 reset" start="0" size="1" />
      <BitField name="DMA2RST" description="DMA2 reset" start="1" size="1" />
      <BitField name="DMAMUX1RST" description="DMAMUXRST" start="2" size="1" />
      <BitField name="CORDICRST" description="CORDIC reset" start="3" size="1" />
      <BitField name="MATRIXRST" description="MATRIX reset" start="4" size="1" />
      <BitField name="FLITFRST_" description="FLITF reset" start="8" size="1" />
      <BitField name="CRCRST" description="CRC reset" start="12" size="1" />
    </Register>
    <Register name="AHB2RSTR" description="AHB2 peripheral reset register" start="+0x2C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="GPIOARST" description="IO port A reset" start="0" size="1" />
      <BitField name="GPIOBRST" description="IO port B reset" start="1" size="1" />
      <BitField name="GPIOCRST" description="IO port C reset" start="2" size="1" />
      <BitField name="GPIODRST" description="IO port D reset" start="3" size="1" />
      <BitField name="GPIOERST" description="IO port E reset" start="4" size="1" />
      <BitField name="GPIOFRST" description="IO port F reset" start="5" size="1" />
      <BitField name="GPIOGRST" description="IO port G reset" start="6" size="1" />
      <BitField name="ADC12RST" description="ADC reset" start="13" size="1" />
      <BitField name="ADC345RST_" description="SAR ADC345 interface reset" start="14" size="1" />
      <BitField name="DAC1RST_" description="DAC1 interface reset" start="16" size="1" />
      <BitField name="DAC2RST" description="DAC2 interface reset" start="17" size="1" />
      <BitField name="DAC3RST" description="DAC3 interface reset" start="18" size="1" />
      <BitField name="DAC4RST" description="DAC4 interface reset" start="19" size="1" />
      <BitField name="CRYPTRST" description="Cryptography module reset" start="24" size="1" />
      <BitField name="RNGRST" description="Random Number Generator module reset" start="26" size="1" />
    </Register>
    <Register name="AHB3RSTR" description="AHB3 peripheral reset register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="FMCRST" description="Flexible memory controller reset" start="0" size="1" />
      <BitField name="QUADSPI1RST" description="Quad SPI 1 module reset" start="8" size="1" />
    </Register>
    <Register name="APB1RSTR1" description="APB1 peripheral reset register 1" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LPTIM1RST" description="Low Power Timer 1 reset" start="31" size="1" />
      <BitField name="I2C3" description="I2C3 interface reset" start="30" size="1" />
      <BitField name="PWRRST" description="Power interface reset" start="28" size="1" />
      <BitField name="FDCANRST" description="FDCAN reset" start="25" size="1" />
      <BitField name="USBDRST" description="USBD reset" start="23" size="1" />
      <BitField name="I2C2RST" description="I2C2 reset" start="22" size="1" />
      <BitField name="I2C1RST" description="I2C1 reset" start="21" size="1" />
      <BitField name="UART5RST" description="UART5 reset" start="20" size="1" />
      <BitField name="UART4RST" description="UART4 reset" start="19" size="1" />
      <BitField name="USART3RST" description="USART3 reset" start="18" size="1" />
      <BitField name="USART2RST" description="USART2 reset" start="17" size="1" />
      <BitField name="SPI3RST" description="SPI3 reset" start="15" size="1" />
      <BitField name="SPI2RST" description="SPI2 reset" start="14" size="1" />
      <BitField name="CRSRST" description="Clock recovery system reset" start="8" size="1" />
      <BitField name="TIM7RST" description="TIM7 timer reset" start="5" size="1" />
      <BitField name="TIM6RST" description="TIM6 timer reset" start="4" size="1" />
      <BitField name="TIM5RST" description="TIM5 timer reset" start="3" size="1" />
      <BitField name="TIM4RST" description="TIM3 timer reset" start="2" size="1" />
      <BitField name="TIM3RST" description="TIM3 timer reset" start="1" size="1" />
      <BitField name="TIM2RST" description="TIM2 timer reset" start="0" size="1" />
    </Register>
    <Register name="APB1RSTR2" description="APB1 peripheral reset register 2" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LPUART1RST" description="Low-power UART 1 reset" start="0" size="1" />
      <BitField name="I2C4RST" description="I2C4 reset" start="1" size="1" />
      <BitField name="USBPDRST" description="USBPD reset" start="8" size="1" />
    </Register>
    <Register name="APB2RSTR" description="APB2 peripheral reset register" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SYSCFGRST" description="System configuration (SYSCFG) reset" start="0" size="1" />
      <BitField name="TIM1RST" description="TIM1 timer reset" start="11" size="1" />
      <BitField name="SPI1RST" description="SPI1 reset" start="12" size="1" />
      <BitField name="TIM8RST" description="TIM8 timer reset" start="13" size="1" />
      <BitField name="USART1RST" description="USART1 reset" start="14" size="1" />
      <BitField name="SPI4RST" description="SPI 4 reset" start="15" size="1" />
      <BitField name="TIM15RST" description="TIM15 timer reset" start="16" size="1" />
      <BitField name="TIM16RST" description="TIM16 timer reset" start="17" size="1" />
      <BitField name="TIM17RST" description="TIM17 timer reset" start="18" size="1" />
      <BitField name="TIM20RST" description="Timer 20 reset" start="20" size="1" />
      <BitField name="SAI1RST" description="Serial audio interface 1 (SAI1) reset" start="21" size="1" />
      <BitField name="HRTIM1RST" description="HRTIMER reset" start="26" size="1" />
    </Register>
    <Register name="AHB1ENR" description="AHB1 peripheral clock enable register" start="+0x48" size="4" access="Read/Write" reset_value="0x00000100" reset_mask="0xFFFFFFFF">
      <BitField name="DMA1EN" description="DMA1 clock enable" start="0" size="1" />
      <BitField name="DMA2EN" description="DMA2 clock enable" start="1" size="1" />
      <BitField name="DMAMUXEN" description="DMAMUX clock enable" start="2" size="1" />
      <BitField name="CORDICEN" description="CORDIC clock enable" start="3" size="1" />
      <BitField name="FMACEN" description="FMAC clock enable" start="4" size="1" />
      <BitField name="FLITFEN" description="FLITF clock enable" start="8" size="1" />
      <BitField name="CRCEN" description="CRC clock enable" start="12" size="1" />
    </Register>
    <Register name="AHB2ENR" description="AHB2 peripheral clock enable register" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="GPIOAEN" description="IO port A clock enable" start="0" size="1" />
      <BitField name="GPIOBEN" description="IO port B clock enable" start="1" size="1" />
      <BitField name="GPIOCEN" description="IO port C clock enable" start="2" size="1" />
      <BitField name="GPIODEN" description="IO port D clock enable" start="3" size="1" />
      <BitField name="GPIOEEN" description="IO port E clock enable" start="4" size="1" />
      <BitField name="GPIOFEN" description="IO port F clock enable" start="5" size="1" />
      <BitField name="GPIOGEN" description="IO port G clock enable" start="6" size="1" />
      <BitField name="ADC12EN" description="ADC clock enable" start="13" size="1" />
      <BitField name="ADC345EN" description="DCMI clock enable" start="14" size="1" />
      <BitField name="DAC1" description="AES accelerator clock enable" start="16" size="1" />
      <BitField name="DAC2" description="HASH clock enable" start="17" size="1" />
      <BitField name="DAC3" description="Random Number Generator clock enable" start="18" size="1" />
      <BitField name="DAC4" description="DAC4 clock enable" start="19" size="1" />
      <BitField name="CRYPTEN" description="Cryptography clock enable" start="24" size="1" />
      <BitField name="RNGEN" description="Random Number Generator clock enable" start="26" size="1" />
    </Register>
    <Register name="AHB3ENR" description="AHB3 peripheral clock enable register" start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="FMCEN" description="Flexible memory controller clock enable" start="0" size="1" />
      <BitField name="QUADSPI1EN" description="Quad SPI 1 module clock enable" start="8" size="1" />
    </Register>
    <Register name="APB1ENR1" description="APB1ENR1" start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TIM2EN" description="TIM2 timer clock enable" start="0" size="1" />
      <BitField name="TIM3EN" description="TIM3 timer clock enable" start="1" size="1" />
      <BitField name="TIM4EN" description="TIM4 timer clock enable" start="2" size="1" />
      <BitField name="TIM5EN" description="TIM5 timer clock enable" start="3" size="1" />
      <BitField name="TIM6EN" description="TIM6 timer clock enable" start="4" size="1" />
      <BitField name="TIM7EN" description="TIM7 timer clock enable" start="5" size="1" />
      <BitField name="CRSEN" description="CRSclock enable" start="8" size="1" />
      <BitField name="RTCAPBEN" description="RTC APB clock enable" start="10" size="1" />
      <BitField name="WWDGEN" description="Window watchdog clock enable" start="11" size="1" />
      <BitField name="SPI2EN" description="SPI2 clock enable" start="14" size="1" />
      <BitField name="SP3EN" description="SPI3 clock enable" start="15" size="1" />
      <BitField name="USART2EN" description="USART2 clock enable" start="17" size="1" />
      <BitField name="USART3EN" description="USART3 clock enable" start="18" size="1" />
      <BitField name="UART4EN" description="UART4 clock enable" start="19" size="1" />
      <BitField name="UART5EN" description="UART5 clock enable" start="20" size="1" />
      <BitField name="I2C1EN" description="I2C1 clock enable" start="21" size="1" />
      <BitField name="I2C2EN" description="I2C2 clock enable" start="22" size="1" />
      <BitField name="USBDEN" description="USBDclock enable" start="23" size="1" />
      <BitField name="FDCANEN" description="FDCAN clock enable" start="25" size="1" />
      <BitField name="PWREN" description="Power interface clock enable" start="28" size="1" />
      <BitField name="I2C3" description="OPAMP interface clock enable" start="30" size="1" />
      <BitField name="LPTIM1EN" description="Low power timer 1 clock enable" start="31" size="1" />
    </Register>
    <Register name="APB1ENR2" description="APB1 peripheral clock enable register 2" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LPUART1EN" description="Low power UART 1 clock enable" start="0" size="1" />
      <BitField name="I2C4EN" description="I2C4 clock enable" start="1" size="1" />
      <BitField name="USBPDEN" description="USBPD clock enable" start="8" size="1" />
    </Register>
    <Register name="APB2ENR" description="APB2ENR" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SYSCFGEN" description="SYSCFG clock enable" start="0" size="1" />
      <BitField name="TIM1EN" description="TIM1 timer clock enable" start="11" size="1" />
      <BitField name="SPI1EN" description="SPI1 clock enable" start="12" size="1" />
      <BitField name="TIM8EN" description="TIM8 timer clock enable" start="13" size="1" />
      <BitField name="USART1EN" description="USART1clock enable" start="14" size="1" />
      <BitField name="SPI4EN" description="SPI 4 clock enable" start="15" size="1" />
      <BitField name="TIM15EN" description="TIM15 timer clock enable" start="16" size="1" />
      <BitField name="TIM16EN" description="TIM16 timer clock enable" start="17" size="1" />
      <BitField name="TIM17EN" description="TIM17 timer clock enable" start="18" size="1" />
      <BitField name="TIM20EN" description="Timer 20 clock enable" start="20" size="1" />
      <BitField name="SAI1EN" description="SAI1 clock enable" start="21" size="1" />
      <BitField name="HRTIMEREN" description="HRTIMER clock enable" start="26" size="1" />
    </Register>
    <Register name="AHB1SMENR" description="AHB1 peripheral clocks enable in Sleep and Stop modes register" start="+0x68" size="4" access="Read/Write" reset_value="0x0000130F" reset_mask="0xFFFFFFFF">
      <BitField name="DMA1SMEN" description="DMA1 clocks enable during Sleep and Stop modes" start="0" size="1" />
      <BitField name="DMA2SMEN" description="DMA2 clocks enable during Sleep and Stop modes" start="1" size="1" />
      <BitField name="DMAMUX1SMEN" description="DMAMUX clock enable during Sleep and Stop modes" start="2" size="1" />
      <BitField name="CORDICSMEN" description="CORDIC clock enable during sleep mode" start="3" size="1" />
      <BitField name="FLASHSMEN" description="Flash memory interface clocks enable during Sleep and Stop modes" start="8" size="1" />
      <BitField name="SRAM1SMEN" description="SRAM1 interface clocks enable during Sleep and Stop modes" start="9" size="1" />
      <BitField name="CRCSMEN" description="CRCSMEN" start="12" size="1" />
      <BitField name="FMACSMEN" description="FMACSM clock enable" start="4" size="1" />
    </Register>
    <Register name="AHB2SMENR" description="AHB2 peripheral clocks enable in Sleep and Stop modes register" start="+0x6C" size="4" access="Read/Write" reset_value="0x050F667F" reset_mask="0xFFFFFFFF">
      <BitField name="GPIOASMEN" description="IO port A clocks enable during Sleep and Stop modes" start="0" size="1" />
      <BitField name="GPIOBSMEN" description="IO port B clocks enable during Sleep and Stop modes" start="1" size="1" />
      <BitField name="GPIOCSMEN" description="IO port C clocks enable during Sleep and Stop modes" start="2" size="1" />
      <BitField name="GPIODSMEN" description="IO port D clocks enable during Sleep and Stop modes" start="3" size="1" />
      <BitField name="GPIOESMEN" description="IO port E clocks enable during Sleep and Stop modes" start="4" size="1" />
      <BitField name="GPIOFSMEN" description="IO port F clocks enable during Sleep and Stop modes" start="5" size="1" />
      <BitField name="GPIOGSMEN" description="IO port G clocks enable during Sleep and Stop modes" start="6" size="1" />
      <BitField name="SRAM2SMEN" description="SRAM2 interface clocks enable during Sleep and Stop modes" start="9" size="1" />
      <BitField name="SRAM3SMEN" description="SRAM2 interface clocks enable during Sleep and Stop modes" start="10" size="1" />
      <BitField name="AD12CSMEN" description="ADC clocks enable during Sleep and Stop modes" start="13" size="1" />
      <BitField name="ADC345SMEN" description="DCMI clock enable during Sleep and Stop modes" start="14" size="1" />
      <BitField name="DAC1SMEN" description="AES accelerator clocks enable during Sleep and Stop modes" start="16" size="1" />
      <BitField name="DAC2SMEN" description="HASH clock enable during Sleep and Stop modes" start="17" size="1" />
      <BitField name="DAC3SMEN" description="DAC3 clock enable during sleep mode" start="18" size="1" />
      <BitField name="DAC4SMEN" description="DAC4 clock enable during sleep mode" start="19" size="1" />
      <BitField name="CRYPTSMEN" description="Cryptography clock enable during sleep mode" start="24" size="1" />
      <BitField name="RNGSMEN" description="Random Number Generator clock enable during sleep mode" start="26" size="1" />
    </Register>
    <Register name="AHB3SMENR" description="AHB3 peripheral clocks enable in Sleep and Stop modes register" start="+0x70" size="4" access="Read/Write" reset_value="0x000000101" reset_mask="0xFFFFFFFF">
      <BitField name="FMCSMEN" description="Flexible memory controller clocks enable during Sleep and Stop modes" start="0" size="1" />
      <BitField name="QUADSPI1SMEN" description="QUAD SPI 1 module clock enable during sleep mode" start="8" size="1" />
    </Register>
    <Register name="APB1SMENR1" description="APB1SMENR1" start="+0x78" size="4" access="Read/Write" reset_value="0xD2FECD3F" reset_mask="0xFFFFFFFF">
      <BitField name="TIM2SMEN" description="TIM2 timer clocks enable during Sleep and Stop modes" start="0" size="1" />
      <BitField name="TIM3SMEN" description="TIM3 timer clocks enable during Sleep and Stop modes" start="1" size="1" />
      <BitField name="TIM4SMEN" description="TIM4 timer clocks enable during Sleep and Stop modes" start="2" size="1" />
      <BitField name="TIM5SMEN" description="TIM5 timer clocks enable during Sleep and Stop modes" start="3" size="1" />
      <BitField name="TIM6SMEN" description="TIM6 timer clocks enable during Sleep and Stop modes" start="4" size="1" />
      <BitField name="TIM7SMEN" description="TIM7 timer clocks enable during Sleep and Stop modes" start="5" size="1" />
      <BitField name="CRSSMEN" description="CRS clock enable during sleep mode" start="8" size="1" />
      <BitField name="RTCAPBSMEN" description="RTC APB clock enable during Sleep and Stop modes" start="10" size="1" />
      <BitField name="WWDGSMEN" description="Window watchdog clocks enable during Sleep and Stop modes" start="11" size="1" />
      <BitField name="SPI2SMEN" description="SPI2 clocks enable during Sleep and Stop modes" start="14" size="1" />
      <BitField name="SP3SMEN" description="SPI3 clocks enable during Sleep and Stop modes" start="15" size="1" />
      <BitField name="USART2SMEN" description="USART2 clocks enable during Sleep and Stop modes" start="17" size="1" />
      <BitField name="USART3SMEN" description="USART3 clocks enable during Sleep and Stop modes" start="18" size="1" />
      <BitField name="UART4SMEN" description="UART4 clocks enable during Sleep and Stop modes" start="19" size="1" />
      <BitField name="UART5SMEN" description="UART5 clocks enable during Sleep and Stop modes" start="20" size="1" />
      <BitField name="I2C1SMEN" description="I2C1 clocks enable during Sleep and Stop modes" start="21" size="1" />
      <BitField name="I2C2SMEN" description="I2C2 clocks enable during Sleep and Stop modes" start="22" size="1" />
      <BitField name="I2C3SMEN" description="I2C3 clocks enable during Sleep and Stop modes" start="23" size="1" />
      <BitField name="FDCANSMEN" description="FDCAN clock enable during sleep mode" start="25" size="1" />
      <BitField name="PWRSMEN" description="Power interface clocks enable during Sleep and Stop modes" start="28" size="1" />
      <BitField name="I2C3SMEN_3" description="I2C 3 interface clock enable during sleep mode" start="30" size="1" />
      <BitField name="LPTIM1SMEN" description="Low Power Timer1 clock enable during sleep mode" start="31" size="1" />
    </Register>
    <Register name="APB1SMENR2" description="APB1 peripheral clocks enable in Sleep and Stop modes register 2" start="+0x7C" size="4" access="Read/Write" reset_value="0x00000103" reset_mask="0xFFFFFFFF">
      <BitField name="LPUART1SMEN" description="Low power UART 1 clocks enable during Sleep and Stop modes" start="0" size="1" />
      <BitField name="I2C4SMEN" description="I2C4 clocks enable during Sleep and Stop modes" start="1" size="1" />
      <BitField name="USBPDSMEN" description="USB PD clock enable during sleep mode" start="8" size="1" />
    </Register>
    <Register name="APB2SMENR" description="APB2SMENR" start="+0x80" size="4" access="Read/Write" reset_value="0x0437F801" reset_mask="0xFFFFFFFF">
      <BitField name="SYSCFGSMEN" description="SYSCFG clocks enable during Sleep and Stop modes" start="0" size="1" />
      <BitField name="TIM1SMEN" description="TIM1 timer clocks enable during Sleep and Stop modes" start="11" size="1" />
      <BitField name="SPI1SMEN" description="SPI1 clocks enable during Sleep and Stop modes" start="12" size="1" />
      <BitField name="TIM8SMEN" description="TIM8 timer clocks enable during Sleep and Stop modes" start="13" size="1" />
      <BitField name="USART1SMEN" description="USART1clocks enable during Sleep and Stop modes" start="14" size="1" />
      <BitField name="SPI4SMEN" description="SPI4 timer clocks enable during Sleep and Stop modes" start="15" size="1" />
      <BitField name="TIM15SMEN" description="TIM15 timer clocks enable during Sleep and Stop modes" start="16" size="1" />
      <BitField name="TIM16SMEN" description="TIM16 timer clocks enable during Sleep and Stop modes" start="17" size="1" />
      <BitField name="TIM17SMEN" description="TIM17 timer clocks enable during Sleep and Stop modes" start="18" size="1" />
      <BitField name="TIM20SMEN" description="Timer 20clock enable during sleep mode" start="20" size="1" />
      <BitField name="SAI1SMEN" description="SAI1 clock enable during sleep mode" start="21" size="1" />
      <BitField name="HRTIMERSMEN" description="HRTIMER clock enable during sleep mode" start="26" size="1" />
    </Register>
    <Register name="CCIPR1" description="CCIPR" start="+0x88" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ADC345SEL" description="ADC3/4/5 clock source selection" start="30" size="2" />
      <BitField name="ADCSEL" description="ADCs clock source selection" start="28" size="2" />
      <BitField name="CLK48SEL" description="48 MHz clock source selection" start="26" size="2" />
      <BitField name="FDCANSEL" description="SAI2 clock source selection" start="24" size="2" />
      <BitField name="SPISEL_" description="SAI1 clock source selection" start="22" size="2" />
      <BitField name="SAISEL" description="Low power timer 2 clock source selection" start="20" size="2" />
      <BitField name="LPTIM1SEL" description="Low power timer 1 clock source selection" start="18" size="2" />
      <BitField name="I2C3SEL" description="I2C3 clock source selection" start="16" size="2" />
      <BitField name="I2C2SEL" description="I2C2 clock source selection" start="14" size="2" />
      <BitField name="I2C1SEL" description="I2C1 clock source selection" start="12" size="2" />
      <BitField name="LPUART1SEL" description="LPUART1 clock source selection" start="10" size="2" />
      <BitField name="UART5SEL" description="UART5 clock source selection" start="8" size="2" />
      <BitField name="UART4SEL" description="UART4 clock source selection" start="6" size="2" />
      <BitField name="USART3SEL" description="USART3 clock source selection" start="4" size="2" />
      <BitField name="USART2SEL" description="USART2 clock source selection" start="2" size="2" />
      <BitField name="USART1SEL" description="USART1 clock source selection" start="0" size="2" />
    </Register>
    <Register name="BDCR" description="BDCR" start="+0x90" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LSCOSEL" description="Low speed clock output selection" start="25" size="1" access="Read/Write" />
      <BitField name="LSCCOEN" description="Low speed clock output enable" start="24" size="1" access="Read/Write" />
      <BitField name="VSWRST" description="Vswitch domain software reset" start="16" size="1" access="Read/Write" />
      <BitField name="RTCEN" description="RTC clock enable" start="15" size="1" access="Read/Write" />
      <BitField name="RTCSEL" description="RTC clock source selection" start="8" size="2" access="Read/Write" />
      <BitField name="LSECSSD" description="LSECSSD" start="6" size="1" access="ReadOnly" />
      <BitField name="LSECSSON" description="LSECSSON" start="5" size="1" access="Read/Write" />
      <BitField name="LSEDRV" description="SE oscillator drive capability" start="3" size="2" access="Read/Write" />
      <BitField name="LSEBYP" description="LSE oscillator bypass" start="2" size="1" access="Read/Write" />
      <BitField name="LSERDY" description="LSE oscillator ready" start="1" size="1" access="ReadOnly" />
      <BitField name="LSEON" description="LSE oscillator enable" start="0" size="1" access="Read/Write" />
    </Register>
    <Register name="CSR" description="CSR" start="+0x94" size="4" reset_value="0x0C000000" reset_mask="0xFFFFFFFF">
      <BitField name="LPWRSTF" description="Low-power reset flag" start="31" size="1" access="ReadOnly" />
      <BitField name="WWDGRSTF" description="Window watchdog reset flag" start="30" size="1" access="ReadOnly" />
      <BitField name="WDGRSTF" description="Independent window watchdog reset flag" start="29" size="1" access="ReadOnly" />
      <BitField name="SFTRSTF" description="Software reset flag" start="28" size="1" access="ReadOnly" />
      <BitField name="BORRSTF" description="BOR flag" start="27" size="1" access="ReadOnly" />
      <BitField name="PADRSTF" description="Pad reset flag" start="26" size="1" access="ReadOnly" />
      <BitField name="OBLRSTF" description="Option byte loader reset flag" start="25" size="1" access="ReadOnly" />
      <BitField name="RMVF" description="Remove reset flag" start="23" size="1" access="Read/Write" />
      <BitField name="LSIRDY" description="LSI oscillator ready" start="1" size="1" access="ReadOnly" />
      <BitField name="LSION" description="LSI oscillator enable" start="0" size="1" access="Read/Write" />
    </Register>
    <Register name="CRRCR" description="Clock recovery RC register" start="+0x98" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RC48ON" description="HSI48 clock enable" start="0" size="1" access="Read/Write" />
      <BitField name="RC48RDY" description="HSI48 clock ready flag" start="1" size="1" access="ReadOnly" />
      <BitField name="RC48CAL" description="HSI48 clock calibration" start="7" size="9" access="ReadOnly" />
    </Register>
    <Register name="CCIPR2" description="Peripherals independent clock configuration register" start="+0x9C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="I2C4SEL" description="I2C4 clock source selection" start="0" size="2" />
      <BitField name="QUADSPISEL" description="Octospi clock source selection" start="20" size="2" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="PWR" description="Power control" start="0x40007000">
    <Register name="CR1" description="Power control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000200" reset_mask="0xFFFFFFFF">
      <BitField name="LPR" description="Low-power run" start="14" size="1" />
      <BitField name="VOS" description="Voltage scaling range selection" start="9" size="2" />
      <BitField name="DBP" description="Disable backup domain write protection" start="8" size="1" />
      <BitField name="LPMS" description="Low-power mode selection" start="0" size="3" />
    </Register>
    <Register name="CR2" description="Power control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PVMEN1" description="Peripheral voltage monitoring 1 enable: VDDA vs. COMP min voltage" start="4" size="1" />
      <BitField name="PLS" description="Power voltage detector level selection" start="1" size="3" />
      <BitField name="PVDE" description="Power voltage detector enable" start="0" size="1" />
      <BitField name="PVMEN2" description="Peripheral voltage monitoring 2 enable: VDDA vs. Fast DAC min voltage" start="5" size="1" />
      <BitField name="PVMEN3" description="Peripheral voltage monitoring 3 enable: VDDA vs. ADC min voltage 1.62V" start="6" size="1" />
      <BitField name="PVMEN4" description="Peripheral voltage monitoring 4 enable: VDDA vs. OPAMP/DAC min voltage" start="7" size="1" />
    </Register>
    <Register name="CR3" description="Power control register 3" start="+0x8" size="4" access="Read/Write" reset_value="0X00008000" reset_mask="0xFFFFFFFF">
      <BitField name="EWUP1" description="Enable Wakeup pin WKUP1" start="0" size="1" />
      <BitField name="EWUP2" description="Enable Wakeup pin WKUP2" start="1" size="1" />
      <BitField name="EWUP3" description="Enable Wakeup pin WKUP3" start="2" size="1" />
      <BitField name="EWUP4" description="Enable Wakeup pin WKUP4" start="3" size="1" />
      <BitField name="EWUP5" description="Enable Wakeup pin WKUP5" start="4" size="1" />
      <BitField name="RRS" description="SRAM2 retention in Standby mode" start="8" size="1" />
      <BitField name="APC" description="Apply pull-up and pull-down configuration" start="10" size="1" />
      <BitField name="UCPD1_STDBY" description="STDBY" start="13" size="1" />
      <BitField name="UCPD1_DBDIS" description="DBDIS" start="14" size="1" />
      <BitField name="EIWUL" description="Enable external WakeUp line" start="15" size="1" />
    </Register>
    <Register name="CR4" description="Power control register 4" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="VBRS" description="VBAT battery charging resistor selection" start="9" size="1" />
      <BitField name="VBE" description="VBAT battery charging enable" start="8" size="1" />
      <BitField name="WP5" description="Wakeup pin WKUP5 polarity" start="4" size="1" />
      <BitField name="WP4" description="Wakeup pin WKUP4 polarity" start="3" size="1" />
      <BitField name="WP3" description="Wakeup pin WKUP3 polarity" start="2" size="1" />
      <BitField name="WP2" description="Wakeup pin WKUP2 polarity" start="1" size="1" />
      <BitField name="WP1" description="Wakeup pin WKUP1 polarity" start="0" size="1" />
    </Register>
    <Register name="SR1" description="Power status register 1" start="+0x10" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="WUFI" description="Wakeup flag internal" start="15" size="1" />
      <BitField name="SBF" description="Standby flag" start="8" size="1" />
      <BitField name="WUF5" description="Wakeup flag 5" start="4" size="1" />
      <BitField name="WUF4" description="Wakeup flag 4" start="3" size="1" />
      <BitField name="WUF3" description="Wakeup flag 3" start="2" size="1" />
      <BitField name="WUF2" description="Wakeup flag 2" start="1" size="1" />
      <BitField name="WUF1" description="Wakeup flag 1" start="0" size="1" />
    </Register>
    <Register name="SR2" description="Power status register 2" start="+0x14" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PVMO4" description="Peripheral voltage monitoring output: VDDA vs. 2.2 V" start="15" size="1" />
      <BitField name="PVMO3" description="Peripheral voltage monitoring output: VDDA vs. 1.62 V" start="14" size="1" />
      <BitField name="PVMO2" description="Peripheral voltage monitoring output: VDDIO2 vs. 0.9 V" start="13" size="1" />
      <BitField name="PVMO1" description="Peripheral voltage monitoring output: VDDUSB vs. 1.2 V" start="12" size="1" />
      <BitField name="PVDO" description="Power voltage detector output" start="11" size="1" />
      <BitField name="VOSF" description="Voltage scaling flag" start="10" size="1" />
      <BitField name="REGLPF" description="Low-power regulator flag" start="9" size="1" />
      <BitField name="REGLPS" description="Low-power regulator started" start="8" size="1" />
    </Register>
    <Register name="SCR" description="Power status clear register" start="+0x18" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CSBF" description="Clear standby flag" start="8" size="1" />
      <BitField name="CWUF5" description="Clear wakeup flag 5" start="4" size="1" />
      <BitField name="CWUF4" description="Clear wakeup flag 4" start="3" size="1" />
      <BitField name="CWUF3" description="Clear wakeup flag 3" start="2" size="1" />
      <BitField name="CWUF2" description="Clear wakeup flag 2" start="1" size="1" />
      <BitField name="CWUF1" description="Clear wakeup flag 1" start="0" size="1" />
    </Register>
    <Register name="PUCRA" description="Power Port A pull-up control register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PU15" description="Port A pull-up bit y (y=0..15)" start="15" size="1" />
      <BitField name="PU13" description="Port A pull-up bit y (y=0..15)" start="13" size="1" />
      <BitField name="PU12" description="Port A pull-up bit y (y=0..15)" start="12" size="1" />
      <BitField name="PU11" description="Port A pull-up bit y (y=0..15)" start="11" size="1" />
      <BitField name="PU10" description="Port A pull-up bit y (y=0..15)" start="10" size="1" />
      <BitField name="PU9" description="Port A pull-up bit y (y=0..15)" start="9" size="1" />
      <BitField name="PU8" description="Port A pull-up bit y (y=0..15)" start="8" size="1" />
      <BitField name="PU7" description="Port A pull-up bit y (y=0..15)" start="7" size="1" />
      <BitField name="PU6" description="Port A pull-up bit y (y=0..15)" start="6" size="1" />
      <BitField name="PU5" description="Port A pull-up bit y (y=0..15)" start="5" size="1" />
      <BitField name="PU4" description="Port A pull-up bit y (y=0..15)" start="4" size="1" />
      <BitField name="PU3" description="Port A pull-up bit y (y=0..15)" start="3" size="1" />
      <BitField name="PU2" description="Port A pull-up bit y (y=0..15)" start="2" size="1" />
      <BitField name="PU1" description="Port A pull-up bit y (y=0..15)" start="1" size="1" />
      <BitField name="PU0" description="Port A pull-up bit y (y=0..15)" start="0" size="1" />
    </Register>
    <Register name="PDCRA" description="Power Port A pull-down control register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PD14" description="Port A pull-down bit y (y=0..15)" start="14" size="1" />
      <BitField name="PD12" description="Port A pull-down bit y (y=0..15)" start="12" size="1" />
      <BitField name="PD11" description="Port A pull-down bit y (y=0..15)" start="11" size="1" />
      <BitField name="PD10" description="Port A pull-down bit y (y=0..15)" start="10" size="1" />
      <BitField name="PD9" description="Port A pull-down bit y (y=0..15)" start="9" size="1" />
      <BitField name="PD8" description="Port A pull-down bit y (y=0..15)" start="8" size="1" />
      <BitField name="PD7" description="Port A pull-down bit y (y=0..15)" start="7" size="1" />
      <BitField name="PD6" description="Port A pull-down bit y (y=0..15)" start="6" size="1" />
      <BitField name="PD5" description="Port A pull-down bit y (y=0..15)" start="5" size="1" />
      <BitField name="PD4" description="Port A pull-down bit y (y=0..15)" start="4" size="1" />
      <BitField name="PD3" description="Port A pull-down bit y (y=0..15)" start="3" size="1" />
      <BitField name="PD2" description="Port A pull-down bit y (y=0..15)" start="2" size="1" />
      <BitField name="PD1" description="Port A pull-down bit y (y=0..15)" start="1" size="1" />
      <BitField name="PD0" description="Port A pull-down bit y (y=0..15)" start="0" size="1" />
    </Register>
    <Register name="PUCRB" description="Power Port B pull-up control register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PU15" description="Port B pull-up bit y (y=0..15)" start="15" size="1" />
      <BitField name="PU14" description="Port B pull-up bit y (y=0..15)" start="14" size="1" />
      <BitField name="PU13" description="Port B pull-up bit y (y=0..15)" start="13" size="1" />
      <BitField name="PU12" description="Port B pull-up bit y (y=0..15)" start="12" size="1" />
      <BitField name="PU11" description="Port B pull-up bit y (y=0..15)" start="11" size="1" />
      <BitField name="PU10" description="Port B pull-up bit y (y=0..15)" start="10" size="1" />
      <BitField name="PU9" description="Port B pull-up bit y (y=0..15)" start="9" size="1" />
      <BitField name="PU8" description="Port B pull-up bit y (y=0..15)" start="8" size="1" />
      <BitField name="PU7" description="Port B pull-up bit y (y=0..15)" start="7" size="1" />
      <BitField name="PU6" description="Port B pull-up bit y (y=0..15)" start="6" size="1" />
      <BitField name="PU5" description="Port B pull-up bit y (y=0..15)" start="5" size="1" />
      <BitField name="PU4" description="Port B pull-up bit y (y=0..15)" start="4" size="1" />
      <BitField name="PU3" description="Port B pull-up bit y (y=0..15)" start="3" size="1" />
      <BitField name="PU2" description="Port B pull-up bit y (y=0..15)" start="2" size="1" />
      <BitField name="PU1" description="Port B pull-up bit y (y=0..15)" start="1" size="1" />
      <BitField name="PU0" description="Port B pull-up bit y (y=0..15)" start="0" size="1" />
    </Register>
    <Register name="PDCRB" description="Power Port B pull-down control register" start="+0x2C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PD15" description="Port B pull-down bit y (y=0..15)" start="15" size="1" />
      <BitField name="PD14" description="Port B pull-down bit y (y=0..15)" start="14" size="1" />
      <BitField name="PD13" description="Port B pull-down bit y (y=0..15)" start="13" size="1" />
      <BitField name="PD12" description="Port B pull-down bit y (y=0..15)" start="12" size="1" />
      <BitField name="PD11" description="Port B pull-down bit y (y=0..15)" start="11" size="1" />
      <BitField name="PD10" description="Port B pull-down bit y (y=0..15)" start="10" size="1" />
      <BitField name="PD9" description="Port B pull-down bit y (y=0..15)" start="9" size="1" />
      <BitField name="PD8" description="Port B pull-down bit y (y=0..15)" start="8" size="1" />
      <BitField name="PD7" description="Port B pull-down bit y (y=0..15)" start="7" size="1" />
      <BitField name="PD6" description="Port B pull-down bit y (y=0..15)" start="6" size="1" />
      <BitField name="PD5" description="Port B pull-down bit y (y=0..15)" start="5" size="1" />
      <BitField name="PD3" description="Port B pull-down bit y (y=0..15)" start="3" size="1" />
      <BitField name="PD2" description="Port B pull-down bit y (y=0..15)" start="2" size="1" />
      <BitField name="PD1" description="Port B pull-down bit y (y=0..15)" start="1" size="1" />
      <BitField name="PD0" description="Port B pull-down bit y (y=0..15)" start="0" size="1" />
    </Register>
    <Register name="PUCRC" description="Power Port C pull-up control register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PU15" description="Port C pull-up bit y (y=0..15)" start="15" size="1" />
      <BitField name="PU14" description="Port C pull-up bit y (y=0..15)" start="14" size="1" />
      <BitField name="PU13" description="Port C pull-up bit y (y=0..15)" start="13" size="1" />
      <BitField name="PU12" description="Port C pull-up bit y (y=0..15)" start="12" size="1" />
      <BitField name="PU11" description="Port C pull-up bit y (y=0..15)" start="11" size="1" />
      <BitField name="PU10" description="Port C pull-up bit y (y=0..15)" start="10" size="1" />
      <BitField name="PU9" description="Port C pull-up bit y (y=0..15)" start="9" size="1" />
      <BitField name="PU8" description="Port C pull-up bit y (y=0..15)" start="8" size="1" />
      <BitField name="PU7" description="Port C pull-up bit y (y=0..15)" start="7" size="1" />
      <BitField name="PU6" description="Port C pull-up bit y (y=0..15)" start="6" size="1" />
      <BitField name="PU5" description="Port C pull-up bit y (y=0..15)" start="5" size="1" />
      <BitField name="PU4" description="Port C pull-up bit y (y=0..15)" start="4" size="1" />
      <BitField name="PU3" description="Port C pull-up bit y (y=0..15)" start="3" size="1" />
      <BitField name="PU2" description="Port C pull-up bit y (y=0..15)" start="2" size="1" />
      <BitField name="PU1" description="Port C pull-up bit y (y=0..15)" start="1" size="1" />
      <BitField name="PU0" description="Port C pull-up bit y (y=0..15)" start="0" size="1" />
    </Register>
    <Register name="PDCRC" description="Power Port C pull-down control register" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PD15" description="Port C pull-down bit y (y=0..15)" start="15" size="1" />
      <BitField name="PD14" description="Port C pull-down bit y (y=0..15)" start="14" size="1" />
      <BitField name="PD13" description="Port C pull-down bit y (y=0..15)" start="13" size="1" />
      <BitField name="PD12" description="Port C pull-down bit y (y=0..15)" start="12" size="1" />
      <BitField name="PD11" description="Port C pull-down bit y (y=0..15)" start="11" size="1" />
      <BitField name="PD10" description="Port C pull-down bit y (y=0..15)" start="10" size="1" />
      <BitField name="PD9" description="Port C pull-down bit y (y=0..15)" start="9" size="1" />
      <BitField name="PD8" description="Port C pull-down bit y (y=0..15)" start="8" size="1" />
      <BitField name="PD7" description="Port C pull-down bit y (y=0..15)" start="7" size="1" />
      <BitField name="PD6" description="Port C pull-down bit y (y=0..15)" start="6" size="1" />
      <BitField name="PD5" description="Port C pull-down bit y (y=0..15)" start="5" size="1" />
      <BitField name="PD4" description="Port C pull-down bit y (y=0..15)" start="4" size="1" />
      <BitField name="PD3" description="Port C pull-down bit y (y=0..15)" start="3" size="1" />
      <BitField name="PD2" description="Port C pull-down bit y (y=0..15)" start="2" size="1" />
      <BitField name="PD1" description="Port C pull-down bit y (y=0..15)" start="1" size="1" />
      <BitField name="PD0" description="Port C pull-down bit y (y=0..15)" start="0" size="1" />
    </Register>
    <Register name="PUCRD" description="Power Port D pull-up control register" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PU15" description="Port D pull-up bit y (y=0..15)" start="15" size="1" />
      <BitField name="PU14" description="Port D pull-up bit y (y=0..15)" start="14" size="1" />
      <BitField name="PU13" description="Port D pull-up bit y (y=0..15)" start="13" size="1" />
      <BitField name="PU12" description="Port D pull-up bit y (y=0..15)" start="12" size="1" />
      <BitField name="PU11" description="Port D pull-up bit y (y=0..15)" start="11" size="1" />
      <BitField name="PU10" description="Port D pull-up bit y (y=0..15)" start="10" size="1" />
      <BitField name="PU9" description="Port D pull-up bit y (y=0..15)" start="9" size="1" />
      <BitField name="PU8" description="Port D pull-up bit y (y=0..15)" start="8" size="1" />
      <BitField name="PU7" description="Port D pull-up bit y (y=0..15)" start="7" size="1" />
      <BitField name="PU6" description="Port D pull-up bit y (y=0..15)" start="6" size="1" />
      <BitField name="PU5" description="Port D pull-up bit y (y=0..15)" start="5" size="1" />
      <BitField name="PU4" description="Port D pull-up bit y (y=0..15)" start="4" size="1" />
      <BitField name="PU3" description="Port D pull-up bit y (y=0..15)" start="3" size="1" />
      <BitField name="PU2" description="Port D pull-up bit y (y=0..15)" start="2" size="1" />
      <BitField name="PU1" description="Port D pull-up bit y (y=0..15)" start="1" size="1" />
      <BitField name="PU0" description="Port D pull-up bit y (y=0..15)" start="0" size="1" />
    </Register>
    <Register name="PDCRD" description="Power Port D pull-down control register" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PD15" description="Port D pull-down bit y (y=0..15)" start="15" size="1" />
      <BitField name="PD14" description="Port D pull-down bit y (y=0..15)" start="14" size="1" />
      <BitField name="PD13" description="Port D pull-down bit y (y=0..15)" start="13" size="1" />
      <BitField name="PD12" description="Port D pull-down bit y (y=0..15)" start="12" size="1" />
      <BitField name="PD11" description="Port D pull-down bit y (y=0..15)" start="11" size="1" />
      <BitField name="PD10" description="Port D pull-down bit y (y=0..15)" start="10" size="1" />
      <BitField name="PD9" description="Port D pull-down bit y (y=0..15)" start="9" size="1" />
      <BitField name="PD8" description="Port D pull-down bit y (y=0..15)" start="8" size="1" />
      <BitField name="PD7" description="Port D pull-down bit y (y=0..15)" start="7" size="1" />
      <BitField name="PD6" description="Port D pull-down bit y (y=0..15)" start="6" size="1" />
      <BitField name="PD5" description="Port D pull-down bit y (y=0..15)" start="5" size="1" />
      <BitField name="PD4" description="Port D pull-down bit y (y=0..15)" start="4" size="1" />
      <BitField name="PD3" description="Port D pull-down bit y (y=0..15)" start="3" size="1" />
      <BitField name="PD2" description="Port D pull-down bit y (y=0..15)" start="2" size="1" />
      <BitField name="PD1" description="Port D pull-down bit y (y=0..15)" start="1" size="1" />
      <BitField name="PD0" description="Port D pull-down bit y (y=0..15)" start="0" size="1" />
    </Register>
    <Register name="PUCRE" description="Power Port E pull-up control register" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PU15" description="Port E pull-up bit y (y=0..15)" start="15" size="1" />
      <BitField name="PU14" description="Port E pull-up bit y (y=0..15)" start="14" size="1" />
      <BitField name="PU13" description="Port E pull-up bit y (y=0..15)" start="13" size="1" />
      <BitField name="PU12" description="Port E pull-up bit y (y=0..15)" start="12" size="1" />
      <BitField name="PU11" description="Port E pull-up bit y (y=0..15)" start="11" size="1" />
      <BitField name="PU10" description="Port E pull-up bit y (y=0..15)" start="10" size="1" />
      <BitField name="PU9" description="Port E pull-up bit y (y=0..15)" start="9" size="1" />
      <BitField name="PU8" description="Port E pull-up bit y (y=0..15)" start="8" size="1" />
      <BitField name="PU7" description="Port E pull-up bit y (y=0..15)" start="7" size="1" />
      <BitField name="PU6" description="Port E pull-up bit y (y=0..15)" start="6" size="1" />
      <BitField name="PU5" description="Port E pull-up bit y (y=0..15)" start="5" size="1" />
      <BitField name="PU4" description="Port E pull-up bit y (y=0..15)" start="4" size="1" />
      <BitField name="PU3" description="Port E pull-up bit y (y=0..15)" start="3" size="1" />
      <BitField name="PU2" description="Port E pull-up bit y (y=0..15)" start="2" size="1" />
      <BitField name="PU1" description="Port E pull-up bit y (y=0..15)" start="1" size="1" />
      <BitField name="PU0" description="Port E pull-up bit y (y=0..15)" start="0" size="1" />
    </Register>
    <Register name="PDCRE" description="Power Port E pull-down control register" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PD15" description="Port E pull-down bit y (y=0..15)" start="15" size="1" />
      <BitField name="PD14" description="Port E pull-down bit y (y=0..15)" start="14" size="1" />
      <BitField name="PD13" description="Port E pull-down bit y (y=0..15)" start="13" size="1" />
      <BitField name="PD12" description="Port E pull-down bit y (y=0..15)" start="12" size="1" />
      <BitField name="PD11" description="Port E pull-down bit y (y=0..15)" start="11" size="1" />
      <BitField name="PD10" description="Port E pull-down bit y (y=0..15)" start="10" size="1" />
      <BitField name="PD9" description="Port E pull-down bit y (y=0..15)" start="9" size="1" />
      <BitField name="PD8" description="Port E pull-down bit y (y=0..15)" start="8" size="1" />
      <BitField name="PD7" description="Port E pull-down bit y (y=0..15)" start="7" size="1" />
      <BitField name="PD6" description="Port E pull-down bit y (y=0..15)" start="6" size="1" />
      <BitField name="PD5" description="Port E pull-down bit y (y=0..15)" start="5" size="1" />
      <BitField name="PD4" description="Port E pull-down bit y (y=0..15)" start="4" size="1" />
      <BitField name="PD3" description="Port E pull-down bit y (y=0..15)" start="3" size="1" />
      <BitField name="PD2" description="Port E pull-down bit y (y=0..15)" start="2" size="1" />
      <BitField name="PD1" description="Port E pull-down bit y (y=0..15)" start="1" size="1" />
      <BitField name="PD0" description="Port E pull-down bit y (y=0..15)" start="0" size="1" />
    </Register>
    <Register name="PUCRF" description="Power Port F pull-up control register" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PU15" description="Port F pull-up bit y (y=0..15)" start="15" size="1" />
      <BitField name="PU14" description="Port F pull-up bit y (y=0..15)" start="14" size="1" />
      <BitField name="PU13" description="Port F pull-up bit y (y=0..15)" start="13" size="1" />
      <BitField name="PU12" description="Port F pull-up bit y (y=0..15)" start="12" size="1" />
      <BitField name="PU11" description="Port F pull-up bit y (y=0..15)" start="11" size="1" />
      <BitField name="PU10" description="Port F pull-up bit y (y=0..15)" start="10" size="1" />
      <BitField name="PU9" description="Port F pull-up bit y (y=0..15)" start="9" size="1" />
      <BitField name="PU8" description="Port F pull-up bit y (y=0..15)" start="8" size="1" />
      <BitField name="PU7" description="Port F pull-up bit y (y=0..15)" start="7" size="1" />
      <BitField name="PU6" description="Port F pull-up bit y (y=0..15)" start="6" size="1" />
      <BitField name="PU5" description="Port F pull-up bit y (y=0..15)" start="5" size="1" />
      <BitField name="PU4" description="Port F pull-up bit y (y=0..15)" start="4" size="1" />
      <BitField name="PU3" description="Port F pull-up bit y (y=0..15)" start="3" size="1" />
      <BitField name="PU2" description="Port F pull-up bit y (y=0..15)" start="2" size="1" />
      <BitField name="PU1" description="Port F pull-up bit y (y=0..15)" start="1" size="1" />
      <BitField name="PU0" description="Port F pull-up bit y (y=0..15)" start="0" size="1" />
    </Register>
    <Register name="PDCRF" description="Power Port F pull-down control register" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PD15" description="Port F pull-down bit y (y=0..15)" start="15" size="1" />
      <BitField name="PD14" description="Port F pull-down bit y (y=0..15)" start="14" size="1" />
      <BitField name="PD13" description="Port F pull-down bit y (y=0..15)" start="13" size="1" />
      <BitField name="PD12" description="Port F pull-down bit y (y=0..15)" start="12" size="1" />
      <BitField name="PD11" description="Port F pull-down bit y (y=0..15)" start="11" size="1" />
      <BitField name="PD10" description="Port F pull-down bit y (y=0..15)" start="10" size="1" />
      <BitField name="PD9" description="Port F pull-down bit y (y=0..15)" start="9" size="1" />
      <BitField name="PD8" description="Port F pull-down bit y (y=0..15)" start="8" size="1" />
      <BitField name="PD7" description="Port F pull-down bit y (y=0..15)" start="7" size="1" />
      <BitField name="PD6" description="Port F pull-down bit y (y=0..15)" start="6" size="1" />
      <BitField name="PD5" description="Port F pull-down bit y (y=0..15)" start="5" size="1" />
      <BitField name="PD4" description="Port F pull-down bit y (y=0..15)" start="4" size="1" />
      <BitField name="PD3" description="Port F pull-down bit y (y=0..15)" start="3" size="1" />
      <BitField name="PD2" description="Port F pull-down bit y (y=0..15)" start="2" size="1" />
      <BitField name="PD1" description="Port F pull-down bit y (y=0..15)" start="1" size="1" />
      <BitField name="PD0" description="Port F pull-down bit y (y=0..15)" start="0" size="1" />
    </Register>
    <Register name="PUCRG" description="Power Port G pull-up control register" start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PU10" description="Port G pull-up bit y (y=0..15)" start="10" size="1" />
      <BitField name="PU9" description="Port G pull-up bit y (y=0..15)" start="9" size="1" />
      <BitField name="PU8" description="Port G pull-up bit y (y=0..15)" start="8" size="1" />
      <BitField name="PU7" description="Port G pull-up bit y (y=0..15)" start="7" size="1" />
      <BitField name="PU6" description="Port G pull-up bit y (y=0..15)" start="6" size="1" />
      <BitField name="PU5" description="Port G pull-up bit y (y=0..15)" start="5" size="1" />
      <BitField name="PU4" description="Port G pull-up bit y (y=0..15)" start="4" size="1" />
      <BitField name="PU3" description="Port G pull-up bit y (y=0..15)" start="3" size="1" />
      <BitField name="PU2" description="Port G pull-up bit y (y=0..15)" start="2" size="1" />
      <BitField name="PU1" description="Port G pull-up bit y (y=0..15)" start="1" size="1" />
      <BitField name="PU0" description="Port G pull-up bit y (y=0..15)" start="0" size="1" />
    </Register>
    <Register name="PDCRG" description="Power Port G pull-down control register" start="+0x54" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PD10" description="Port G pull-down bit y (y=0..15)" start="10" size="1" />
      <BitField name="PD9" description="Port G pull-down bit y (y=0..15)" start="9" size="1" />
      <BitField name="PD8" description="Port G pull-down bit y (y=0..15)" start="8" size="1" />
      <BitField name="PD7" description="Port G pull-down bit y (y=0..15)" start="7" size="1" />
      <BitField name="PD6" description="Port G pull-down bit y (y=0..15)" start="6" size="1" />
      <BitField name="PD5" description="Port G pull-down bit y (y=0..15)" start="5" size="1" />
      <BitField name="PD4" description="Port G pull-down bit y (y=0..15)" start="4" size="1" />
      <BitField name="PD3" description="Port G pull-down bit y (y=0..15)" start="3" size="1" />
      <BitField name="PD2" description="Port G pull-down bit y (y=0..15)" start="2" size="1" />
      <BitField name="PD1" description="Port G pull-down bit y (y=0..15)" start="1" size="1" />
      <BitField name="PD0" description="Port G pull-down bit y (y=0..15)" start="0" size="1" />
    </Register>
    <Register name="CR5" description="Power control register 5" start="+0x80" size="4" access="Read/Write" reset_value="0x00000100" reset_mask="0xFFFFFFFF">
      <BitField name="R1MODE" description="Main regular range 1 mode" start="0" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="RNG" description="Random number generator" start="0x50060800">
    <Register name="CR" description="control register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CED" description="Clock error detection" start="5" size="1" />
      <BitField name="IE" description="Interrupt enable" start="3" size="1" />
      <BitField name="RNGEN" description="Random number generator enable" start="2" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x4" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SEIS" description="Seed error interrupt status" start="6" size="1" access="Read/Write" />
      <BitField name="CEIS" description="Clock error interrupt status" start="5" size="1" access="Read/Write" />
      <BitField name="SECS" description="Seed error current status" start="2" size="1" access="ReadOnly" />
      <BitField name="CECS" description="Clock error current status" start="1" size="1" access="ReadOnly" />
      <BitField name="DRDY" description="Data ready" start="0" size="1" access="ReadOnly" />
    </Register>
    <Register name="DR" description="data register" start="+0x8" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RNDATA" description="Random data" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="AES" description="Advanced encryption standard hardware accelerator" start="0x50060000">
    <Register name="CR" description="control register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NPBLB" description="NPBLB" start="20" size="4" />
      <BitField name="KEYSIZE" description="KEYSIZE" start="18" size="1" />
      <BitField name="CHMOD_2" description="CHMOD_2" start="16" size="1" />
      <BitField name="GCMPH" description="GCMPH" start="13" size="2" />
      <BitField name="DMAOUTEN" description="Enable DMA management of data output phase" start="12" size="1" />
      <BitField name="DMAINEN" description="Enable DMA management of data input phase" start="11" size="1" />
      <BitField name="ERRIE" description="Error interrupt enable" start="10" size="1" />
      <BitField name="CCFIE" description="CCF flag interrupt enable" start="9" size="1" />
      <BitField name="ERRC" description="Error clear" start="8" size="1" />
      <BitField name="CCFC" description="Computation Complete Flag Clear" start="7" size="1" />
      <BitField name="CHMOD" description="AES chaining mode" start="5" size="2" />
      <BitField name="MODE" description="AES operating mode" start="3" size="2" />
      <BitField name="DATATYPE" description="Data type selection (for data in and data out to/from the cryptographic block)" start="1" size="2" />
      <BitField name="EN" description="AES enable" start="0" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x4" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BUSY" description="BUSY" start="3" size="1" />
      <BitField name="WRERR" description="Write error flag" start="2" size="1" />
      <BitField name="RDERR" description="Read error flag" start="1" size="1" />
      <BitField name="CCF" description="Computation complete flag" start="0" size="1" />
    </Register>
    <Register name="DINR" description="data input register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AES_DINR" description="Data Input Register" start="0" size="32" />
    </Register>
    <Register name="DOUTR" description="data output register" start="+0xC" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AES_DOUTR" description="Data output register" start="0" size="32" />
    </Register>
    <Register name="KEYR0" description="key register 0" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AES_KEYR0" description="Data Output Register (LSB key [31:0])" start="0" size="32" />
    </Register>
    <Register name="KEYR1" description="key register 1" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AES_KEYR1" description="AES key register (key [63:32])" start="0" size="32" />
    </Register>
    <Register name="KEYR2" description="key register 2" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AES_KEYR2" description="AES key register (key [95:64])" start="0" size="32" />
    </Register>
    <Register name="KEYR3" description="key register 3" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AES_KEYR3" description="AES key register (MSB key [127:96])" start="0" size="32" />
    </Register>
    <Register name="IVR0" description="initialization vector register 0" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AES_IVR0" description="initialization vector register (LSB IVR [31:0])" start="0" size="32" />
    </Register>
    <Register name="IVR1" description="initialization vector register 1" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AES_IVR1" description="Initialization Vector Register (IVR [63:32])" start="0" size="32" />
    </Register>
    <Register name="IVR2" description="initialization vector register 2" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AES_IVR2" description="Initialization Vector Register (IVR [95:64])" start="0" size="32" />
    </Register>
    <Register name="IVR3" description="initialization vector register 3" start="+0x2C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AES_IVR3" description="Initialization Vector Register (MSB IVR [127:96])" start="0" size="32" />
    </Register>
    <Register name="KEYR4" description="key register 4" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="KEY" description="AES key" start="0" size="32" />
    </Register>
    <Register name="KEYR5" description="key register 5" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="KEY" description="AES key" start="0" size="32" />
    </Register>
    <Register name="KEYR6" description="key register 6" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="KEY" description="AES key" start="0" size="32" />
    </Register>
    <Register name="KEYR7" description="key register 7" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="KEY" description="AES key" start="0" size="32" />
    </Register>
    <Register name="SUSP0R" description="suspend registers" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SUSP" description="AES suspend" start="0" size="32" />
    </Register>
    <Register name="SUSP1R" description="suspend registers" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SUSP" description="AES suspend" start="0" size="32" />
    </Register>
    <Register name="SUSP2R" description="suspend registers" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SUSP" description="AES suspend" start="0" size="32" />
    </Register>
    <Register name="SUSP3R" description="suspend registers" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SUSP" description="AES suspend" start="0" size="32" />
    </Register>
    <Register name="SUSP4R" description="suspend registers" start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SUSP" description="AES suspend" start="0" size="32" />
    </Register>
    <Register name="SUSP5R" description="suspend registers" start="+0x54" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SUSP" description="AES suspend" start="0" size="32" />
    </Register>
    <Register name="SUSP6R" description="suspend registers" start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SUSP" description="AES suspend" start="0" size="32" />
    </Register>
    <Register name="SUSP7R" description="suspend registers" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SUSP" description="AES suspend" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="GPIOA" description="General-purpose I/Os" start="0x48000000">
    <Register name="MODER" description="GPIO port mode register" start="+0x0" size="4" access="Read/Write" reset_value="0xABFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="MODER15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="MODER14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="MODER13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="MODER12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="MODER11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="MODER10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="MODER9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="MODER8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="MODER7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="MODER6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="MODER5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="MODER4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="MODER3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="MODER2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="MODER1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="MODER0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="OTYPER" description="GPIO port output type register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OT15" description="Port x configuration bits (y = 0..15)" start="15" size="1" />
      <BitField name="OT14" description="Port x configuration bits (y = 0..15)" start="14" size="1" />
      <BitField name="OT13" description="Port x configuration bits (y = 0..15)" start="13" size="1" />
      <BitField name="OT12" description="Port x configuration bits (y = 0..15)" start="12" size="1" />
      <BitField name="OT11" description="Port x configuration bits (y = 0..15)" start="11" size="1" />
      <BitField name="OT10" description="Port x configuration bits (y = 0..15)" start="10" size="1" />
      <BitField name="OT9" description="Port x configuration bits (y = 0..15)" start="9" size="1" />
      <BitField name="OT8" description="Port x configuration bits (y = 0..15)" start="8" size="1" />
      <BitField name="OT7" description="Port x configuration bits (y = 0..15)" start="7" size="1" />
      <BitField name="OT6" description="Port x configuration bits (y = 0..15)" start="6" size="1" />
      <BitField name="OT5" description="Port x configuration bits (y = 0..15)" start="5" size="1" />
      <BitField name="OT4" description="Port x configuration bits (y = 0..15)" start="4" size="1" />
      <BitField name="OT3" description="Port x configuration bits (y = 0..15)" start="3" size="1" />
      <BitField name="OT2" description="Port x configuration bits (y = 0..15)" start="2" size="1" />
      <BitField name="OT1" description="Port x configuration bits (y = 0..15)" start="1" size="1" />
      <BitField name="OT0" description="Port x configuration bits (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="OSPEEDR" description="GPIO port output speed register" start="+0x8" size="4" access="Read/Write" reset_value="0x0C000000" reset_mask="0xFFFFFFFF">
      <BitField name="OSPEEDR15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="OSPEEDR14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="OSPEEDR13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="OSPEEDR12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="OSPEEDR11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="OSPEEDR10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="OSPEEDR9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="OSPEEDR8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="OSPEEDR7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="OSPEEDR6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="OSPEEDR5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="OSPEEDR4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="OSPEEDR3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="OSPEEDR2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="OSPEEDR1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="OSPEEDR0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="PUPDR" description="GPIO port pull-up/pull-down register" start="+0xC" size="4" access="Read/Write" reset_value="0x64000000" reset_mask="0xFFFFFFFF">
      <BitField name="PUPDR15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="PUPDR14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="PUPDR13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="PUPDR12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="PUPDR11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="PUPDR10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="PUPDR9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="PUPDR8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="PUPDR7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="PUPDR6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="PUPDR5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="PUPDR4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="PUPDR3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="PUPDR2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="PUPDR1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="PUPDR0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="IDR" description="GPIO port input data register" start="+0x10" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IDR15" description="Port input data (y = 0..15)" start="15" size="1" />
      <BitField name="IDR14" description="Port input data (y = 0..15)" start="14" size="1" />
      <BitField name="IDR13" description="Port input data (y = 0..15)" start="13" size="1" />
      <BitField name="IDR12" description="Port input data (y = 0..15)" start="12" size="1" />
      <BitField name="IDR11" description="Port input data (y = 0..15)" start="11" size="1" />
      <BitField name="IDR10" description="Port input data (y = 0..15)" start="10" size="1" />
      <BitField name="IDR9" description="Port input data (y = 0..15)" start="9" size="1" />
      <BitField name="IDR8" description="Port input data (y = 0..15)" start="8" size="1" />
      <BitField name="IDR7" description="Port input data (y = 0..15)" start="7" size="1" />
      <BitField name="IDR6" description="Port input data (y = 0..15)" start="6" size="1" />
      <BitField name="IDR5" description="Port input data (y = 0..15)" start="5" size="1" />
      <BitField name="IDR4" description="Port input data (y = 0..15)" start="4" size="1" />
      <BitField name="IDR3" description="Port input data (y = 0..15)" start="3" size="1" />
      <BitField name="IDR2" description="Port input data (y = 0..15)" start="2" size="1" />
      <BitField name="IDR1" description="Port input data (y = 0..15)" start="1" size="1" />
      <BitField name="IDR0" description="Port input data (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="ODR" description="GPIO port output data register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ODR15" description="Port output data (y = 0..15)" start="15" size="1" />
      <BitField name="ODR14" description="Port output data (y = 0..15)" start="14" size="1" />
      <BitField name="ODR13" description="Port output data (y = 0..15)" start="13" size="1" />
      <BitField name="ODR12" description="Port output data (y = 0..15)" start="12" size="1" />
      <BitField name="ODR11" description="Port output data (y = 0..15)" start="11" size="1" />
      <BitField name="ODR10" description="Port output data (y = 0..15)" start="10" size="1" />
      <BitField name="ODR9" description="Port output data (y = 0..15)" start="9" size="1" />
      <BitField name="ODR8" description="Port output data (y = 0..15)" start="8" size="1" />
      <BitField name="ODR7" description="Port output data (y = 0..15)" start="7" size="1" />
      <BitField name="ODR6" description="Port output data (y = 0..15)" start="6" size="1" />
      <BitField name="ODR5" description="Port output data (y = 0..15)" start="5" size="1" />
      <BitField name="ODR4" description="Port output data (y = 0..15)" start="4" size="1" />
      <BitField name="ODR3" description="Port output data (y = 0..15)" start="3" size="1" />
      <BitField name="ODR2" description="Port output data (y = 0..15)" start="2" size="1" />
      <BitField name="ODR1" description="Port output data (y = 0..15)" start="1" size="1" />
      <BitField name="ODR0" description="Port output data (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="BSRR" description="GPIO port bit set/reset register" start="+0x18" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BR15" description="Port x reset bit y (y = 0..15)" start="31" size="1" />
      <BitField name="BR14" description="Port x reset bit y (y = 0..15)" start="30" size="1" />
      <BitField name="BR13" description="Port x reset bit y (y = 0..15)" start="29" size="1" />
      <BitField name="BR12" description="Port x reset bit y (y = 0..15)" start="28" size="1" />
      <BitField name="BR11" description="Port x reset bit y (y = 0..15)" start="27" size="1" />
      <BitField name="BR10" description="Port x reset bit y (y = 0..15)" start="26" size="1" />
      <BitField name="BR9" description="Port x reset bit y (y = 0..15)" start="25" size="1" />
      <BitField name="BR8" description="Port x reset bit y (y = 0..15)" start="24" size="1" />
      <BitField name="BR7" description="Port x reset bit y (y = 0..15)" start="23" size="1" />
      <BitField name="BR6" description="Port x reset bit y (y = 0..15)" start="22" size="1" />
      <BitField name="BR5" description="Port x reset bit y (y = 0..15)" start="21" size="1" />
      <BitField name="BR4" description="Port x reset bit y (y = 0..15)" start="20" size="1" />
      <BitField name="BR3" description="Port x reset bit y (y = 0..15)" start="19" size="1" />
      <BitField name="BR2" description="Port x reset bit y (y = 0..15)" start="18" size="1" />
      <BitField name="BR1" description="Port x reset bit y (y = 0..15)" start="17" size="1" />
      <BitField name="BR0" description="Port x set bit y (y= 0..15)" start="16" size="1" />
      <BitField name="BS15" description="Port x set bit y (y= 0..15)" start="15" size="1" />
      <BitField name="BS14" description="Port x set bit y (y= 0..15)" start="14" size="1" />
      <BitField name="BS13" description="Port x set bit y (y= 0..15)" start="13" size="1" />
      <BitField name="BS12" description="Port x set bit y (y= 0..15)" start="12" size="1" />
      <BitField name="BS11" description="Port x set bit y (y= 0..15)" start="11" size="1" />
      <BitField name="BS10" description="Port x set bit y (y= 0..15)" start="10" size="1" />
      <BitField name="BS9" description="Port x set bit y (y= 0..15)" start="9" size="1" />
      <BitField name="BS8" description="Port x set bit y (y= 0..15)" start="8" size="1" />
      <BitField name="BS7" description="Port x set bit y (y= 0..15)" start="7" size="1" />
      <BitField name="BS6" description="Port x set bit y (y= 0..15)" start="6" size="1" />
      <BitField name="BS5" description="Port x set bit y (y= 0..15)" start="5" size="1" />
      <BitField name="BS4" description="Port x set bit y (y= 0..15)" start="4" size="1" />
      <BitField name="BS3" description="Port x set bit y (y= 0..15)" start="3" size="1" />
      <BitField name="BS2" description="Port x set bit y (y= 0..15)" start="2" size="1" />
      <BitField name="BS1" description="Port x set bit y (y= 0..15)" start="1" size="1" />
      <BitField name="BS0" description="Port x set bit y (y= 0..15)" start="0" size="1" />
    </Register>
    <Register name="LCKR" description="GPIO port configuration lock register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LCKK" description="Port x lock bit y (y= 0..15)" start="16" size="1" />
      <BitField name="LCK15" description="Port x lock bit y (y= 0..15)" start="15" size="1" />
      <BitField name="LCK14" description="Port x lock bit y (y= 0..15)" start="14" size="1" />
      <BitField name="LCK13" description="Port x lock bit y (y= 0..15)" start="13" size="1" />
      <BitField name="LCK12" description="Port x lock bit y (y= 0..15)" start="12" size="1" />
      <BitField name="LCK11" description="Port x lock bit y (y= 0..15)" start="11" size="1" />
      <BitField name="LCK10" description="Port x lock bit y (y= 0..15)" start="10" size="1" />
      <BitField name="LCK9" description="Port x lock bit y (y= 0..15)" start="9" size="1" />
      <BitField name="LCK8" description="Port x lock bit y (y= 0..15)" start="8" size="1" />
      <BitField name="LCK7" description="Port x lock bit y (y= 0..15)" start="7" size="1" />
      <BitField name="LCK6" description="Port x lock bit y (y= 0..15)" start="6" size="1" />
      <BitField name="LCK5" description="Port x lock bit y (y= 0..15)" start="5" size="1" />
      <BitField name="LCK4" description="Port x lock bit y (y= 0..15)" start="4" size="1" />
      <BitField name="LCK3" description="Port x lock bit y (y= 0..15)" start="3" size="1" />
      <BitField name="LCK2" description="Port x lock bit y (y= 0..15)" start="2" size="1" />
      <BitField name="LCK1" description="Port x lock bit y (y= 0..15)" start="1" size="1" />
      <BitField name="LCK0" description="Port x lock bit y (y= 0..15)" start="0" size="1" />
    </Register>
    <Register name="AFRL" description="GPIO alternate function low register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AFRL7" description="Alternate function selection for port x bit y (y = 0..7)" start="28" size="4" />
      <BitField name="AFRL6" description="Alternate function selection for port x bit y (y = 0..7)" start="24" size="4" />
      <BitField name="AFRL5" description="Alternate function selection for port x bit y (y = 0..7)" start="20" size="4" />
      <BitField name="AFRL4" description="Alternate function selection for port x bit y (y = 0..7)" start="16" size="4" />
      <BitField name="AFRL3" description="Alternate function selection for port x bit y (y = 0..7)" start="12" size="4" />
      <BitField name="AFRL2" description="Alternate function selection for port x bit y (y = 0..7)" start="8" size="4" />
      <BitField name="AFRL1" description="Alternate function selection for port x bit y (y = 0..7)" start="4" size="4" />
      <BitField name="AFRL0" description="Alternate function selection for port x bit y (y = 0..7)" start="0" size="4" />
    </Register>
    <Register name="AFRH" description="GPIO alternate function high register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AFRH15" description="Alternate function selection for port x bit y (y = 8..15)" start="28" size="4" />
      <BitField name="AFRH14" description="Alternate function selection for port x bit y (y = 8..15)" start="24" size="4" />
      <BitField name="AFRH13" description="Alternate function selection for port x bit y (y = 8..15)" start="20" size="4" />
      <BitField name="AFRH12" description="Alternate function selection for port x bit y (y = 8..15)" start="16" size="4" />
      <BitField name="AFRH11" description="Alternate function selection for port x bit y (y = 8..15)" start="12" size="4" />
      <BitField name="AFRH10" description="Alternate function selection for port x bit y (y = 8..15)" start="8" size="4" />
      <BitField name="AFRH9" description="Alternate function selection for port x bit y (y = 8..15)" start="4" size="4" />
      <BitField name="AFRH8" description="Alternate function selection for port x bit y (y = 8..15)" start="0" size="4" />
    </Register>
    <Register name="BRR" description="GPIO port bit reset register" start="+0x28" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BR0" description="Port Reset bit" start="0" size="1" />
      <BitField name="BR1" description="Port Reset bit" start="1" size="1" />
      <BitField name="BR2" description="Port Reset bit" start="2" size="1" />
      <BitField name="BR3" description="Port Reset bit" start="3" size="1" />
      <BitField name="BR4" description="Port Reset bit" start="4" size="1" />
      <BitField name="BR5" description="Port Reset bit" start="5" size="1" />
      <BitField name="BR6" description="Port Reset bit" start="6" size="1" />
      <BitField name="BR7" description="Port Reset bit" start="7" size="1" />
      <BitField name="BR8" description="Port Reset bit" start="8" size="1" />
      <BitField name="BR9" description="Port Reset bit" start="9" size="1" />
      <BitField name="BR10" description="Port Reset bit" start="10" size="1" />
      <BitField name="BR11" description="Port Reset bit" start="11" size="1" />
      <BitField name="BR12" description="Port Reset bit" start="12" size="1" />
      <BitField name="BR13" description="Port Reset bit" start="13" size="1" />
      <BitField name="BR14" description="Port Reset bit" start="14" size="1" />
      <BitField name="BR15" description="Port Reset bit" start="15" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="GPIOB" description="General-purpose I/Os" start="0x48000400">
    <Register name="MODER" description="GPIO port mode register" start="+0x0" size="4" access="Read/Write" reset_value="0xFFFFFEBF" reset_mask="0xFFFFFFFF">
      <BitField name="MODER15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="MODER14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="MODER13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="MODER12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="MODER11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="MODER10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="MODER9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="MODER8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="MODER7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="MODER6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="MODER5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="MODER4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="MODER3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="MODER2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="MODER1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="MODER0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="OTYPER" description="GPIO port output type register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OT15" description="Port x configuration bits (y = 0..15)" start="15" size="1" />
      <BitField name="OT14" description="Port x configuration bits (y = 0..15)" start="14" size="1" />
      <BitField name="OT13" description="Port x configuration bits (y = 0..15)" start="13" size="1" />
      <BitField name="OT12" description="Port x configuration bits (y = 0..15)" start="12" size="1" />
      <BitField name="OT11" description="Port x configuration bits (y = 0..15)" start="11" size="1" />
      <BitField name="OT10" description="Port x configuration bits (y = 0..15)" start="10" size="1" />
      <BitField name="OT9" description="Port x configuration bits (y = 0..15)" start="9" size="1" />
      <BitField name="OT8" description="Port x configuration bits (y = 0..15)" start="8" size="1" />
      <BitField name="OT7" description="Port x configuration bits (y = 0..15)" start="7" size="1" />
      <BitField name="OT6" description="Port x configuration bits (y = 0..15)" start="6" size="1" />
      <BitField name="OT5" description="Port x configuration bits (y = 0..15)" start="5" size="1" />
      <BitField name="OT4" description="Port x configuration bits (y = 0..15)" start="4" size="1" />
      <BitField name="OT3" description="Port x configuration bits (y = 0..15)" start="3" size="1" />
      <BitField name="OT2" description="Port x configuration bits (y = 0..15)" start="2" size="1" />
      <BitField name="OT1" description="Port x configuration bits (y = 0..15)" start="1" size="1" />
      <BitField name="OT0" description="Port x configuration bits (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="OSPEEDR" description="GPIO port output speed register" start="+0x8" size="4" access="Read/Write" reset_value="0x000000C0" reset_mask="0xFFFFFFFF">
      <BitField name="OSPEEDR15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="OSPEEDR14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="OSPEEDR13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="OSPEEDR12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="OSPEEDR11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="OSPEEDR10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="OSPEEDR9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="OSPEEDR8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="OSPEEDR7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="OSPEEDR6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="OSPEEDR5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="OSPEEDR4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="OSPEEDR3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="OSPEEDR2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="OSPEEDR1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="OSPEEDR0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="PUPDR" description="GPIO port pull-up/pull-down register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000100" reset_mask="0xFFFFFFFF">
      <BitField name="PUPDR15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="PUPDR14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="PUPDR13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="PUPDR12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="PUPDR11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="PUPDR10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="PUPDR9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="PUPDR8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="PUPDR7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="PUPDR6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="PUPDR5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="PUPDR4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="PUPDR3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="PUPDR2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="PUPDR1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="PUPDR0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="IDR" description="GPIO port input data register" start="+0x10" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IDR15" description="Port input data (y = 0..15)" start="15" size="1" />
      <BitField name="IDR14" description="Port input data (y = 0..15)" start="14" size="1" />
      <BitField name="IDR13" description="Port input data (y = 0..15)" start="13" size="1" />
      <BitField name="IDR12" description="Port input data (y = 0..15)" start="12" size="1" />
      <BitField name="IDR11" description="Port input data (y = 0..15)" start="11" size="1" />
      <BitField name="IDR10" description="Port input data (y = 0..15)" start="10" size="1" />
      <BitField name="IDR9" description="Port input data (y = 0..15)" start="9" size="1" />
      <BitField name="IDR8" description="Port input data (y = 0..15)" start="8" size="1" />
      <BitField name="IDR7" description="Port input data (y = 0..15)" start="7" size="1" />
      <BitField name="IDR6" description="Port input data (y = 0..15)" start="6" size="1" />
      <BitField name="IDR5" description="Port input data (y = 0..15)" start="5" size="1" />
      <BitField name="IDR4" description="Port input data (y = 0..15)" start="4" size="1" />
      <BitField name="IDR3" description="Port input data (y = 0..15)" start="3" size="1" />
      <BitField name="IDR2" description="Port input data (y = 0..15)" start="2" size="1" />
      <BitField name="IDR1" description="Port input data (y = 0..15)" start="1" size="1" />
      <BitField name="IDR0" description="Port input data (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="ODR" description="GPIO port output data register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ODR15" description="Port output data (y = 0..15)" start="15" size="1" />
      <BitField name="ODR14" description="Port output data (y = 0..15)" start="14" size="1" />
      <BitField name="ODR13" description="Port output data (y = 0..15)" start="13" size="1" />
      <BitField name="ODR12" description="Port output data (y = 0..15)" start="12" size="1" />
      <BitField name="ODR11" description="Port output data (y = 0..15)" start="11" size="1" />
      <BitField name="ODR10" description="Port output data (y = 0..15)" start="10" size="1" />
      <BitField name="ODR9" description="Port output data (y = 0..15)" start="9" size="1" />
      <BitField name="ODR8" description="Port output data (y = 0..15)" start="8" size="1" />
      <BitField name="ODR7" description="Port output data (y = 0..15)" start="7" size="1" />
      <BitField name="ODR6" description="Port output data (y = 0..15)" start="6" size="1" />
      <BitField name="ODR5" description="Port output data (y = 0..15)" start="5" size="1" />
      <BitField name="ODR4" description="Port output data (y = 0..15)" start="4" size="1" />
      <BitField name="ODR3" description="Port output data (y = 0..15)" start="3" size="1" />
      <BitField name="ODR2" description="Port output data (y = 0..15)" start="2" size="1" />
      <BitField name="ODR1" description="Port output data (y = 0..15)" start="1" size="1" />
      <BitField name="ODR0" description="Port output data (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="BSRR" description="GPIO port bit set/reset register" start="+0x18" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BR15" description="Port x reset bit y (y = 0..15)" start="31" size="1" />
      <BitField name="BR14" description="Port x reset bit y (y = 0..15)" start="30" size="1" />
      <BitField name="BR13" description="Port x reset bit y (y = 0..15)" start="29" size="1" />
      <BitField name="BR12" description="Port x reset bit y (y = 0..15)" start="28" size="1" />
      <BitField name="BR11" description="Port x reset bit y (y = 0..15)" start="27" size="1" />
      <BitField name="BR10" description="Port x reset bit y (y = 0..15)" start="26" size="1" />
      <BitField name="BR9" description="Port x reset bit y (y = 0..15)" start="25" size="1" />
      <BitField name="BR8" description="Port x reset bit y (y = 0..15)" start="24" size="1" />
      <BitField name="BR7" description="Port x reset bit y (y = 0..15)" start="23" size="1" />
      <BitField name="BR6" description="Port x reset bit y (y = 0..15)" start="22" size="1" />
      <BitField name="BR5" description="Port x reset bit y (y = 0..15)" start="21" size="1" />
      <BitField name="BR4" description="Port x reset bit y (y = 0..15)" start="20" size="1" />
      <BitField name="BR3" description="Port x reset bit y (y = 0..15)" start="19" size="1" />
      <BitField name="BR2" description="Port x reset bit y (y = 0..15)" start="18" size="1" />
      <BitField name="BR1" description="Port x reset bit y (y = 0..15)" start="17" size="1" />
      <BitField name="BR0" description="Port x set bit y (y= 0..15)" start="16" size="1" />
      <BitField name="BS15" description="Port x set bit y (y= 0..15)" start="15" size="1" />
      <BitField name="BS14" description="Port x set bit y (y= 0..15)" start="14" size="1" />
      <BitField name="BS13" description="Port x set bit y (y= 0..15)" start="13" size="1" />
      <BitField name="BS12" description="Port x set bit y (y= 0..15)" start="12" size="1" />
      <BitField name="BS11" description="Port x set bit y (y= 0..15)" start="11" size="1" />
      <BitField name="BS10" description="Port x set bit y (y= 0..15)" start="10" size="1" />
      <BitField name="BS9" description="Port x set bit y (y= 0..15)" start="9" size="1" />
      <BitField name="BS8" description="Port x set bit y (y= 0..15)" start="8" size="1" />
      <BitField name="BS7" description="Port x set bit y (y= 0..15)" start="7" size="1" />
      <BitField name="BS6" description="Port x set bit y (y= 0..15)" start="6" size="1" />
      <BitField name="BS5" description="Port x set bit y (y= 0..15)" start="5" size="1" />
      <BitField name="BS4" description="Port x set bit y (y= 0..15)" start="4" size="1" />
      <BitField name="BS3" description="Port x set bit y (y= 0..15)" start="3" size="1" />
      <BitField name="BS2" description="Port x set bit y (y= 0..15)" start="2" size="1" />
      <BitField name="BS1" description="Port x set bit y (y= 0..15)" start="1" size="1" />
      <BitField name="BS0" description="Port x set bit y (y= 0..15)" start="0" size="1" />
    </Register>
    <Register name="LCKR" description="GPIO port configuration lock register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LCKK" description="Port x lock bit y (y= 0..15)" start="16" size="1" />
      <BitField name="LCK15" description="Port x lock bit y (y= 0..15)" start="15" size="1" />
      <BitField name="LCK14" description="Port x lock bit y (y= 0..15)" start="14" size="1" />
      <BitField name="LCK13" description="Port x lock bit y (y= 0..15)" start="13" size="1" />
      <BitField name="LCK12" description="Port x lock bit y (y= 0..15)" start="12" size="1" />
      <BitField name="LCK11" description="Port x lock bit y (y= 0..15)" start="11" size="1" />
      <BitField name="LCK10" description="Port x lock bit y (y= 0..15)" start="10" size="1" />
      <BitField name="LCK9" description="Port x lock bit y (y= 0..15)" start="9" size="1" />
      <BitField name="LCK8" description="Port x lock bit y (y= 0..15)" start="8" size="1" />
      <BitField name="LCK7" description="Port x lock bit y (y= 0..15)" start="7" size="1" />
      <BitField name="LCK6" description="Port x lock bit y (y= 0..15)" start="6" size="1" />
      <BitField name="LCK5" description="Port x lock bit y (y= 0..15)" start="5" size="1" />
      <BitField name="LCK4" description="Port x lock bit y (y= 0..15)" start="4" size="1" />
      <BitField name="LCK3" description="Port x lock bit y (y= 0..15)" start="3" size="1" />
      <BitField name="LCK2" description="Port x lock bit y (y= 0..15)" start="2" size="1" />
      <BitField name="LCK1" description="Port x lock bit y (y= 0..15)" start="1" size="1" />
      <BitField name="LCK0" description="Port x lock bit y (y= 0..15)" start="0" size="1" />
    </Register>
    <Register name="AFRL" description="GPIO alternate function low register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AFRL7" description="Alternate function selection for port x bit y (y = 0..7)" start="28" size="4" />
      <BitField name="AFRL6" description="Alternate function selection for port x bit y (y = 0..7)" start="24" size="4" />
      <BitField name="AFRL5" description="Alternate function selection for port x bit y (y = 0..7)" start="20" size="4" />
      <BitField name="AFRL4" description="Alternate function selection for port x bit y (y = 0..7)" start="16" size="4" />
      <BitField name="AFRL3" description="Alternate function selection for port x bit y (y = 0..7)" start="12" size="4" />
      <BitField name="AFRL2" description="Alternate function selection for port x bit y (y = 0..7)" start="8" size="4" />
      <BitField name="AFRL1" description="Alternate function selection for port x bit y (y = 0..7)" start="4" size="4" />
      <BitField name="AFRL0" description="Alternate function selection for port x bit y (y = 0..7)" start="0" size="4" />
    </Register>
    <Register name="AFRH" description="GPIO alternate function high register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AFRH15" description="Alternate function selection for port x bit y (y = 8..15)" start="28" size="4" />
      <BitField name="AFRH14" description="Alternate function selection for port x bit y (y = 8..15)" start="24" size="4" />
      <BitField name="AFRH13" description="Alternate function selection for port x bit y (y = 8..15)" start="20" size="4" />
      <BitField name="AFRH12" description="Alternate function selection for port x bit y (y = 8..15)" start="16" size="4" />
      <BitField name="AFRH11" description="Alternate function selection for port x bit y (y = 8..15)" start="12" size="4" />
      <BitField name="AFRH10" description="Alternate function selection for port x bit y (y = 8..15)" start="8" size="4" />
      <BitField name="AFRH9" description="Alternate function selection for port x bit y (y = 8..15)" start="4" size="4" />
      <BitField name="AFRH8" description="Alternate function selection for port x bit y (y = 8..15)" start="0" size="4" />
    </Register>
    <Register name="BRR" description="GPIO port bit reset register" start="+0x28" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BR0" description="Port Reset bit" start="0" size="1" />
      <BitField name="BR1" description="Port Reset bit" start="1" size="1" />
      <BitField name="BR2" description="Port Reset bit" start="2" size="1" />
      <BitField name="BR3" description="Port Reset bit" start="3" size="1" />
      <BitField name="BR4" description="Port Reset bit" start="4" size="1" />
      <BitField name="BR5" description="Port Reset bit" start="5" size="1" />
      <BitField name="BR6" description="Port Reset bit" start="6" size="1" />
      <BitField name="BR7" description="Port Reset bit" start="7" size="1" />
      <BitField name="BR8" description="Port Reset bit" start="8" size="1" />
      <BitField name="BR9" description="Port Reset bit" start="9" size="1" />
      <BitField name="BR10" description="Port Reset bit" start="10" size="1" />
      <BitField name="BR11" description="Port Reset bit" start="11" size="1" />
      <BitField name="BR12" description="Port Reset bit" start="12" size="1" />
      <BitField name="BR13" description="Port Reset bit" start="13" size="1" />
      <BitField name="BR14" description="Port Reset bit" start="14" size="1" />
      <BitField name="BR15" description="Port Reset bit" start="15" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="GPIOC" description="General-purpose I/Os" start="0x48000800">
    <Register name="MODER" description="GPIO port mode register" start="+0x0" size="4" access="Read/Write" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="MODER15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="MODER14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="MODER13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="MODER12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="MODER11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="MODER10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="MODER9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="MODER8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="MODER7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="MODER6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="MODER5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="MODER4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="MODER3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="MODER2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="MODER1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="MODER0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="OTYPER" description="GPIO port output type register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OT15" description="Port x configuration bits (y = 0..15)" start="15" size="1" />
      <BitField name="OT14" description="Port x configuration bits (y = 0..15)" start="14" size="1" />
      <BitField name="OT13" description="Port x configuration bits (y = 0..15)" start="13" size="1" />
      <BitField name="OT12" description="Port x configuration bits (y = 0..15)" start="12" size="1" />
      <BitField name="OT11" description="Port x configuration bits (y = 0..15)" start="11" size="1" />
      <BitField name="OT10" description="Port x configuration bits (y = 0..15)" start="10" size="1" />
      <BitField name="OT9" description="Port x configuration bits (y = 0..15)" start="9" size="1" />
      <BitField name="OT8" description="Port x configuration bits (y = 0..15)" start="8" size="1" />
      <BitField name="OT7" description="Port x configuration bits (y = 0..15)" start="7" size="1" />
      <BitField name="OT6" description="Port x configuration bits (y = 0..15)" start="6" size="1" />
      <BitField name="OT5" description="Port x configuration bits (y = 0..15)" start="5" size="1" />
      <BitField name="OT4" description="Port x configuration bits (y = 0..15)" start="4" size="1" />
      <BitField name="OT3" description="Port x configuration bits (y = 0..15)" start="3" size="1" />
      <BitField name="OT2" description="Port x configuration bits (y = 0..15)" start="2" size="1" />
      <BitField name="OT1" description="Port x configuration bits (y = 0..15)" start="1" size="1" />
      <BitField name="OT0" description="Port x configuration bits (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="OSPEEDR" description="GPIO port output speed register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OSPEEDR15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="OSPEEDR14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="OSPEEDR13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="OSPEEDR12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="OSPEEDR11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="OSPEEDR10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="OSPEEDR9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="OSPEEDR8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="OSPEEDR7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="OSPEEDR6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="OSPEEDR5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="OSPEEDR4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="OSPEEDR3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="OSPEEDR2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="OSPEEDR1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="OSPEEDR0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="PUPDR" description="GPIO port pull-up/pull-down register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PUPDR15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="PUPDR14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="PUPDR13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="PUPDR12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="PUPDR11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="PUPDR10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="PUPDR9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="PUPDR8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="PUPDR7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="PUPDR6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="PUPDR5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="PUPDR4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="PUPDR3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="PUPDR2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="PUPDR1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="PUPDR0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="IDR" description="GPIO port input data register" start="+0x10" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IDR15" description="Port input data (y = 0..15)" start="15" size="1" />
      <BitField name="IDR14" description="Port input data (y = 0..15)" start="14" size="1" />
      <BitField name="IDR13" description="Port input data (y = 0..15)" start="13" size="1" />
      <BitField name="IDR12" description="Port input data (y = 0..15)" start="12" size="1" />
      <BitField name="IDR11" description="Port input data (y = 0..15)" start="11" size="1" />
      <BitField name="IDR10" description="Port input data (y = 0..15)" start="10" size="1" />
      <BitField name="IDR9" description="Port input data (y = 0..15)" start="9" size="1" />
      <BitField name="IDR8" description="Port input data (y = 0..15)" start="8" size="1" />
      <BitField name="IDR7" description="Port input data (y = 0..15)" start="7" size="1" />
      <BitField name="IDR6" description="Port input data (y = 0..15)" start="6" size="1" />
      <BitField name="IDR5" description="Port input data (y = 0..15)" start="5" size="1" />
      <BitField name="IDR4" description="Port input data (y = 0..15)" start="4" size="1" />
      <BitField name="IDR3" description="Port input data (y = 0..15)" start="3" size="1" />
      <BitField name="IDR2" description="Port input data (y = 0..15)" start="2" size="1" />
      <BitField name="IDR1" description="Port input data (y = 0..15)" start="1" size="1" />
      <BitField name="IDR0" description="Port input data (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="ODR" description="GPIO port output data register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ODR15" description="Port output data (y = 0..15)" start="15" size="1" />
      <BitField name="ODR14" description="Port output data (y = 0..15)" start="14" size="1" />
      <BitField name="ODR13" description="Port output data (y = 0..15)" start="13" size="1" />
      <BitField name="ODR12" description="Port output data (y = 0..15)" start="12" size="1" />
      <BitField name="ODR11" description="Port output data (y = 0..15)" start="11" size="1" />
      <BitField name="ODR10" description="Port output data (y = 0..15)" start="10" size="1" />
      <BitField name="ODR9" description="Port output data (y = 0..15)" start="9" size="1" />
      <BitField name="ODR8" description="Port output data (y = 0..15)" start="8" size="1" />
      <BitField name="ODR7" description="Port output data (y = 0..15)" start="7" size="1" />
      <BitField name="ODR6" description="Port output data (y = 0..15)" start="6" size="1" />
      <BitField name="ODR5" description="Port output data (y = 0..15)" start="5" size="1" />
      <BitField name="ODR4" description="Port output data (y = 0..15)" start="4" size="1" />
      <BitField name="ODR3" description="Port output data (y = 0..15)" start="3" size="1" />
      <BitField name="ODR2" description="Port output data (y = 0..15)" start="2" size="1" />
      <BitField name="ODR1" description="Port output data (y = 0..15)" start="1" size="1" />
      <BitField name="ODR0" description="Port output data (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="BSRR" description="GPIO port bit set/reset register" start="+0x18" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BR15" description="Port x reset bit y (y = 0..15)" start="31" size="1" />
      <BitField name="BR14" description="Port x reset bit y (y = 0..15)" start="30" size="1" />
      <BitField name="BR13" description="Port x reset bit y (y = 0..15)" start="29" size="1" />
      <BitField name="BR12" description="Port x reset bit y (y = 0..15)" start="28" size="1" />
      <BitField name="BR11" description="Port x reset bit y (y = 0..15)" start="27" size="1" />
      <BitField name="BR10" description="Port x reset bit y (y = 0..15)" start="26" size="1" />
      <BitField name="BR9" description="Port x reset bit y (y = 0..15)" start="25" size="1" />
      <BitField name="BR8" description="Port x reset bit y (y = 0..15)" start="24" size="1" />
      <BitField name="BR7" description="Port x reset bit y (y = 0..15)" start="23" size="1" />
      <BitField name="BR6" description="Port x reset bit y (y = 0..15)" start="22" size="1" />
      <BitField name="BR5" description="Port x reset bit y (y = 0..15)" start="21" size="1" />
      <BitField name="BR4" description="Port x reset bit y (y = 0..15)" start="20" size="1" />
      <BitField name="BR3" description="Port x reset bit y (y = 0..15)" start="19" size="1" />
      <BitField name="BR2" description="Port x reset bit y (y = 0..15)" start="18" size="1" />
      <BitField name="BR1" description="Port x reset bit y (y = 0..15)" start="17" size="1" />
      <BitField name="BR0" description="Port x set bit y (y= 0..15)" start="16" size="1" />
      <BitField name="BS15" description="Port x set bit y (y= 0..15)" start="15" size="1" />
      <BitField name="BS14" description="Port x set bit y (y= 0..15)" start="14" size="1" />
      <BitField name="BS13" description="Port x set bit y (y= 0..15)" start="13" size="1" />
      <BitField name="BS12" description="Port x set bit y (y= 0..15)" start="12" size="1" />
      <BitField name="BS11" description="Port x set bit y (y= 0..15)" start="11" size="1" />
      <BitField name="BS10" description="Port x set bit y (y= 0..15)" start="10" size="1" />
      <BitField name="BS9" description="Port x set bit y (y= 0..15)" start="9" size="1" />
      <BitField name="BS8" description="Port x set bit y (y= 0..15)" start="8" size="1" />
      <BitField name="BS7" description="Port x set bit y (y= 0..15)" start="7" size="1" />
      <BitField name="BS6" description="Port x set bit y (y= 0..15)" start="6" size="1" />
      <BitField name="BS5" description="Port x set bit y (y= 0..15)" start="5" size="1" />
      <BitField name="BS4" description="Port x set bit y (y= 0..15)" start="4" size="1" />
      <BitField name="BS3" description="Port x set bit y (y= 0..15)" start="3" size="1" />
      <BitField name="BS2" description="Port x set bit y (y= 0..15)" start="2" size="1" />
      <BitField name="BS1" description="Port x set bit y (y= 0..15)" start="1" size="1" />
      <BitField name="BS0" description="Port x set bit y (y= 0..15)" start="0" size="1" />
    </Register>
    <Register name="LCKR" description="GPIO port configuration lock register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LCKK" description="Port x lock bit y (y= 0..15)" start="16" size="1" />
      <BitField name="LCK15" description="Port x lock bit y (y= 0..15)" start="15" size="1" />
      <BitField name="LCK14" description="Port x lock bit y (y= 0..15)" start="14" size="1" />
      <BitField name="LCK13" description="Port x lock bit y (y= 0..15)" start="13" size="1" />
      <BitField name="LCK12" description="Port x lock bit y (y= 0..15)" start="12" size="1" />
      <BitField name="LCK11" description="Port x lock bit y (y= 0..15)" start="11" size="1" />
      <BitField name="LCK10" description="Port x lock bit y (y= 0..15)" start="10" size="1" />
      <BitField name="LCK9" description="Port x lock bit y (y= 0..15)" start="9" size="1" />
      <BitField name="LCK8" description="Port x lock bit y (y= 0..15)" start="8" size="1" />
      <BitField name="LCK7" description="Port x lock bit y (y= 0..15)" start="7" size="1" />
      <BitField name="LCK6" description="Port x lock bit y (y= 0..15)" start="6" size="1" />
      <BitField name="LCK5" description="Port x lock bit y (y= 0..15)" start="5" size="1" />
      <BitField name="LCK4" description="Port x lock bit y (y= 0..15)" start="4" size="1" />
      <BitField name="LCK3" description="Port x lock bit y (y= 0..15)" start="3" size="1" />
      <BitField name="LCK2" description="Port x lock bit y (y= 0..15)" start="2" size="1" />
      <BitField name="LCK1" description="Port x lock bit y (y= 0..15)" start="1" size="1" />
      <BitField name="LCK0" description="Port x lock bit y (y= 0..15)" start="0" size="1" />
    </Register>
    <Register name="AFRL" description="GPIO alternate function low register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AFRL7" description="Alternate function selection for port x bit y (y = 0..7)" start="28" size="4" />
      <BitField name="AFRL6" description="Alternate function selection for port x bit y (y = 0..7)" start="24" size="4" />
      <BitField name="AFRL5" description="Alternate function selection for port x bit y (y = 0..7)" start="20" size="4" />
      <BitField name="AFRL4" description="Alternate function selection for port x bit y (y = 0..7)" start="16" size="4" />
      <BitField name="AFRL3" description="Alternate function selection for port x bit y (y = 0..7)" start="12" size="4" />
      <BitField name="AFRL2" description="Alternate function selection for port x bit y (y = 0..7)" start="8" size="4" />
      <BitField name="AFRL1" description="Alternate function selection for port x bit y (y = 0..7)" start="4" size="4" />
      <BitField name="AFRL0" description="Alternate function selection for port x bit y (y = 0..7)" start="0" size="4" />
    </Register>
    <Register name="AFRH" description="GPIO alternate function high register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AFRH15" description="Alternate function selection for port x bit y (y = 8..15)" start="28" size="4" />
      <BitField name="AFRH14" description="Alternate function selection for port x bit y (y = 8..15)" start="24" size="4" />
      <BitField name="AFRH13" description="Alternate function selection for port x bit y (y = 8..15)" start="20" size="4" />
      <BitField name="AFRH12" description="Alternate function selection for port x bit y (y = 8..15)" start="16" size="4" />
      <BitField name="AFRH11" description="Alternate function selection for port x bit y (y = 8..15)" start="12" size="4" />
      <BitField name="AFRH10" description="Alternate function selection for port x bit y (y = 8..15)" start="8" size="4" />
      <BitField name="AFRH9" description="Alternate function selection for port x bit y (y = 8..15)" start="4" size="4" />
      <BitField name="AFRH8" description="Alternate function selection for port x bit y (y = 8..15)" start="0" size="4" />
    </Register>
    <Register name="BRR" description="GPIO port bit reset register" start="+0x28" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BR0" description="Port Reset bit" start="0" size="1" />
      <BitField name="BR1" description="Port Reset bit" start="1" size="1" />
      <BitField name="BR2" description="Port Reset bit" start="2" size="1" />
      <BitField name="BR3" description="Port Reset bit" start="3" size="1" />
      <BitField name="BR4" description="Port Reset bit" start="4" size="1" />
      <BitField name="BR5" description="Port Reset bit" start="5" size="1" />
      <BitField name="BR6" description="Port Reset bit" start="6" size="1" />
      <BitField name="BR7" description="Port Reset bit" start="7" size="1" />
      <BitField name="BR8" description="Port Reset bit" start="8" size="1" />
      <BitField name="BR9" description="Port Reset bit" start="9" size="1" />
      <BitField name="BR10" description="Port Reset bit" start="10" size="1" />
      <BitField name="BR11" description="Port Reset bit" start="11" size="1" />
      <BitField name="BR12" description="Port Reset bit" start="12" size="1" />
      <BitField name="BR13" description="Port Reset bit" start="13" size="1" />
      <BitField name="BR14" description="Port Reset bit" start="14" size="1" />
      <BitField name="BR15" description="Port Reset bit" start="15" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="GPIOD" description="General-purpose I/Os" start="0x48000C00">
    <Register name="MODER" description="GPIO port mode register" start="+0x0" size="4" access="Read/Write" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="MODER15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="MODER14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="MODER13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="MODER12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="MODER11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="MODER10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="MODER9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="MODER8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="MODER7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="MODER6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="MODER5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="MODER4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="MODER3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="MODER2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="MODER1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="MODER0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="OTYPER" description="GPIO port output type register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OT15" description="Port x configuration bits (y = 0..15)" start="15" size="1" />
      <BitField name="OT14" description="Port x configuration bits (y = 0..15)" start="14" size="1" />
      <BitField name="OT13" description="Port x configuration bits (y = 0..15)" start="13" size="1" />
      <BitField name="OT12" description="Port x configuration bits (y = 0..15)" start="12" size="1" />
      <BitField name="OT11" description="Port x configuration bits (y = 0..15)" start="11" size="1" />
      <BitField name="OT10" description="Port x configuration bits (y = 0..15)" start="10" size="1" />
      <BitField name="OT9" description="Port x configuration bits (y = 0..15)" start="9" size="1" />
      <BitField name="OT8" description="Port x configuration bits (y = 0..15)" start="8" size="1" />
      <BitField name="OT7" description="Port x configuration bits (y = 0..15)" start="7" size="1" />
      <BitField name="OT6" description="Port x configuration bits (y = 0..15)" start="6" size="1" />
      <BitField name="OT5" description="Port x configuration bits (y = 0..15)" start="5" size="1" />
      <BitField name="OT4" description="Port x configuration bits (y = 0..15)" start="4" size="1" />
      <BitField name="OT3" description="Port x configuration bits (y = 0..15)" start="3" size="1" />
      <BitField name="OT2" description="Port x configuration bits (y = 0..15)" start="2" size="1" />
      <BitField name="OT1" description="Port x configuration bits (y = 0..15)" start="1" size="1" />
      <BitField name="OT0" description="Port x configuration bits (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="OSPEEDR" description="GPIO port output speed register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OSPEEDR15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="OSPEEDR14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="OSPEEDR13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="OSPEEDR12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="OSPEEDR11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="OSPEEDR10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="OSPEEDR9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="OSPEEDR8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="OSPEEDR7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="OSPEEDR6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="OSPEEDR5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="OSPEEDR4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="OSPEEDR3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="OSPEEDR2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="OSPEEDR1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="OSPEEDR0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="PUPDR" description="GPIO port pull-up/pull-down register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PUPDR15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="PUPDR14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="PUPDR13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="PUPDR12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="PUPDR11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="PUPDR10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="PUPDR9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="PUPDR8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="PUPDR7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="PUPDR6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="PUPDR5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="PUPDR4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="PUPDR3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="PUPDR2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="PUPDR1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="PUPDR0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="IDR" description="GPIO port input data register" start="+0x10" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IDR15" description="Port input data (y = 0..15)" start="15" size="1" />
      <BitField name="IDR14" description="Port input data (y = 0..15)" start="14" size="1" />
      <BitField name="IDR13" description="Port input data (y = 0..15)" start="13" size="1" />
      <BitField name="IDR12" description="Port input data (y = 0..15)" start="12" size="1" />
      <BitField name="IDR11" description="Port input data (y = 0..15)" start="11" size="1" />
      <BitField name="IDR10" description="Port input data (y = 0..15)" start="10" size="1" />
      <BitField name="IDR9" description="Port input data (y = 0..15)" start="9" size="1" />
      <BitField name="IDR8" description="Port input data (y = 0..15)" start="8" size="1" />
      <BitField name="IDR7" description="Port input data (y = 0..15)" start="7" size="1" />
      <BitField name="IDR6" description="Port input data (y = 0..15)" start="6" size="1" />
      <BitField name="IDR5" description="Port input data (y = 0..15)" start="5" size="1" />
      <BitField name="IDR4" description="Port input data (y = 0..15)" start="4" size="1" />
      <BitField name="IDR3" description="Port input data (y = 0..15)" start="3" size="1" />
      <BitField name="IDR2" description="Port input data (y = 0..15)" start="2" size="1" />
      <BitField name="IDR1" description="Port input data (y = 0..15)" start="1" size="1" />
      <BitField name="IDR0" description="Port input data (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="ODR" description="GPIO port output data register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ODR15" description="Port output data (y = 0..15)" start="15" size="1" />
      <BitField name="ODR14" description="Port output data (y = 0..15)" start="14" size="1" />
      <BitField name="ODR13" description="Port output data (y = 0..15)" start="13" size="1" />
      <BitField name="ODR12" description="Port output data (y = 0..15)" start="12" size="1" />
      <BitField name="ODR11" description="Port output data (y = 0..15)" start="11" size="1" />
      <BitField name="ODR10" description="Port output data (y = 0..15)" start="10" size="1" />
      <BitField name="ODR9" description="Port output data (y = 0..15)" start="9" size="1" />
      <BitField name="ODR8" description="Port output data (y = 0..15)" start="8" size="1" />
      <BitField name="ODR7" description="Port output data (y = 0..15)" start="7" size="1" />
      <BitField name="ODR6" description="Port output data (y = 0..15)" start="6" size="1" />
      <BitField name="ODR5" description="Port output data (y = 0..15)" start="5" size="1" />
      <BitField name="ODR4" description="Port output data (y = 0..15)" start="4" size="1" />
      <BitField name="ODR3" description="Port output data (y = 0..15)" start="3" size="1" />
      <BitField name="ODR2" description="Port output data (y = 0..15)" start="2" size="1" />
      <BitField name="ODR1" description="Port output data (y = 0..15)" start="1" size="1" />
      <BitField name="ODR0" description="Port output data (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="BSRR" description="GPIO port bit set/reset register" start="+0x18" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BR15" description="Port x reset bit y (y = 0..15)" start="31" size="1" />
      <BitField name="BR14" description="Port x reset bit y (y = 0..15)" start="30" size="1" />
      <BitField name="BR13" description="Port x reset bit y (y = 0..15)" start="29" size="1" />
      <BitField name="BR12" description="Port x reset bit y (y = 0..15)" start="28" size="1" />
      <BitField name="BR11" description="Port x reset bit y (y = 0..15)" start="27" size="1" />
      <BitField name="BR10" description="Port x reset bit y (y = 0..15)" start="26" size="1" />
      <BitField name="BR9" description="Port x reset bit y (y = 0..15)" start="25" size="1" />
      <BitField name="BR8" description="Port x reset bit y (y = 0..15)" start="24" size="1" />
      <BitField name="BR7" description="Port x reset bit y (y = 0..15)" start="23" size="1" />
      <BitField name="BR6" description="Port x reset bit y (y = 0..15)" start="22" size="1" />
      <BitField name="BR5" description="Port x reset bit y (y = 0..15)" start="21" size="1" />
      <BitField name="BR4" description="Port x reset bit y (y = 0..15)" start="20" size="1" />
      <BitField name="BR3" description="Port x reset bit y (y = 0..15)" start="19" size="1" />
      <BitField name="BR2" description="Port x reset bit y (y = 0..15)" start="18" size="1" />
      <BitField name="BR1" description="Port x reset bit y (y = 0..15)" start="17" size="1" />
      <BitField name="BR0" description="Port x set bit y (y= 0..15)" start="16" size="1" />
      <BitField name="BS15" description="Port x set bit y (y= 0..15)" start="15" size="1" />
      <BitField name="BS14" description="Port x set bit y (y= 0..15)" start="14" size="1" />
      <BitField name="BS13" description="Port x set bit y (y= 0..15)" start="13" size="1" />
      <BitField name="BS12" description="Port x set bit y (y= 0..15)" start="12" size="1" />
      <BitField name="BS11" description="Port x set bit y (y= 0..15)" start="11" size="1" />
      <BitField name="BS10" description="Port x set bit y (y= 0..15)" start="10" size="1" />
      <BitField name="BS9" description="Port x set bit y (y= 0..15)" start="9" size="1" />
      <BitField name="BS8" description="Port x set bit y (y= 0..15)" start="8" size="1" />
      <BitField name="BS7" description="Port x set bit y (y= 0..15)" start="7" size="1" />
      <BitField name="BS6" description="Port x set bit y (y= 0..15)" start="6" size="1" />
      <BitField name="BS5" description="Port x set bit y (y= 0..15)" start="5" size="1" />
      <BitField name="BS4" description="Port x set bit y (y= 0..15)" start="4" size="1" />
      <BitField name="BS3" description="Port x set bit y (y= 0..15)" start="3" size="1" />
      <BitField name="BS2" description="Port x set bit y (y= 0..15)" start="2" size="1" />
      <BitField name="BS1" description="Port x set bit y (y= 0..15)" start="1" size="1" />
      <BitField name="BS0" description="Port x set bit y (y= 0..15)" start="0" size="1" />
    </Register>
    <Register name="LCKR" description="GPIO port configuration lock register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LCKK" description="Port x lock bit y (y= 0..15)" start="16" size="1" />
      <BitField name="LCK15" description="Port x lock bit y (y= 0..15)" start="15" size="1" />
      <BitField name="LCK14" description="Port x lock bit y (y= 0..15)" start="14" size="1" />
      <BitField name="LCK13" description="Port x lock bit y (y= 0..15)" start="13" size="1" />
      <BitField name="LCK12" description="Port x lock bit y (y= 0..15)" start="12" size="1" />
      <BitField name="LCK11" description="Port x lock bit y (y= 0..15)" start="11" size="1" />
      <BitField name="LCK10" description="Port x lock bit y (y= 0..15)" start="10" size="1" />
      <BitField name="LCK9" description="Port x lock bit y (y= 0..15)" start="9" size="1" />
      <BitField name="LCK8" description="Port x lock bit y (y= 0..15)" start="8" size="1" />
      <BitField name="LCK7" description="Port x lock bit y (y= 0..15)" start="7" size="1" />
      <BitField name="LCK6" description="Port x lock bit y (y= 0..15)" start="6" size="1" />
      <BitField name="LCK5" description="Port x lock bit y (y= 0..15)" start="5" size="1" />
      <BitField name="LCK4" description="Port x lock bit y (y= 0..15)" start="4" size="1" />
      <BitField name="LCK3" description="Port x lock bit y (y= 0..15)" start="3" size="1" />
      <BitField name="LCK2" description="Port x lock bit y (y= 0..15)" start="2" size="1" />
      <BitField name="LCK1" description="Port x lock bit y (y= 0..15)" start="1" size="1" />
      <BitField name="LCK0" description="Port x lock bit y (y= 0..15)" start="0" size="1" />
    </Register>
    <Register name="AFRL" description="GPIO alternate function low register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AFRL7" description="Alternate function selection for port x bit y (y = 0..7)" start="28" size="4" />
      <BitField name="AFRL6" description="Alternate function selection for port x bit y (y = 0..7)" start="24" size="4" />
      <BitField name="AFRL5" description="Alternate function selection for port x bit y (y = 0..7)" start="20" size="4" />
      <BitField name="AFRL4" description="Alternate function selection for port x bit y (y = 0..7)" start="16" size="4" />
      <BitField name="AFRL3" description="Alternate function selection for port x bit y (y = 0..7)" start="12" size="4" />
      <BitField name="AFRL2" description="Alternate function selection for port x bit y (y = 0..7)" start="8" size="4" />
      <BitField name="AFRL1" description="Alternate function selection for port x bit y (y = 0..7)" start="4" size="4" />
      <BitField name="AFRL0" description="Alternate function selection for port x bit y (y = 0..7)" start="0" size="4" />
    </Register>
    <Register name="AFRH" description="GPIO alternate function high register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AFRH15" description="Alternate function selection for port x bit y (y = 8..15)" start="28" size="4" />
      <BitField name="AFRH14" description="Alternate function selection for port x bit y (y = 8..15)" start="24" size="4" />
      <BitField name="AFRH13" description="Alternate function selection for port x bit y (y = 8..15)" start="20" size="4" />
      <BitField name="AFRH12" description="Alternate function selection for port x bit y (y = 8..15)" start="16" size="4" />
      <BitField name="AFRH11" description="Alternate function selection for port x bit y (y = 8..15)" start="12" size="4" />
      <BitField name="AFRH10" description="Alternate function selection for port x bit y (y = 8..15)" start="8" size="4" />
      <BitField name="AFRH9" description="Alternate function selection for port x bit y (y = 8..15)" start="4" size="4" />
      <BitField name="AFRH8" description="Alternate function selection for port x bit y (y = 8..15)" start="0" size="4" />
    </Register>
    <Register name="BRR" description="GPIO port bit reset register" start="+0x28" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BR0" description="Port Reset bit" start="0" size="1" />
      <BitField name="BR1" description="Port Reset bit" start="1" size="1" />
      <BitField name="BR2" description="Port Reset bit" start="2" size="1" />
      <BitField name="BR3" description="Port Reset bit" start="3" size="1" />
      <BitField name="BR4" description="Port Reset bit" start="4" size="1" />
      <BitField name="BR5" description="Port Reset bit" start="5" size="1" />
      <BitField name="BR6" description="Port Reset bit" start="6" size="1" />
      <BitField name="BR7" description="Port Reset bit" start="7" size="1" />
      <BitField name="BR8" description="Port Reset bit" start="8" size="1" />
      <BitField name="BR9" description="Port Reset bit" start="9" size="1" />
      <BitField name="BR10" description="Port Reset bit" start="10" size="1" />
      <BitField name="BR11" description="Port Reset bit" start="11" size="1" />
      <BitField name="BR12" description="Port Reset bit" start="12" size="1" />
      <BitField name="BR13" description="Port Reset bit" start="13" size="1" />
      <BitField name="BR14" description="Port Reset bit" start="14" size="1" />
      <BitField name="BR15" description="Port Reset bit" start="15" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="GPIOE" description="General-purpose I/Os" start="0x48001000">
    <Register name="MODER" description="GPIO port mode register" start="+0x0" size="4" access="Read/Write" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="MODER15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="MODER14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="MODER13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="MODER12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="MODER11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="MODER10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="MODER9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="MODER8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="MODER7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="MODER6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="MODER5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="MODER4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="MODER3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="MODER2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="MODER1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="MODER0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="OTYPER" description="GPIO port output type register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OT15" description="Port x configuration bits (y = 0..15)" start="15" size="1" />
      <BitField name="OT14" description="Port x configuration bits (y = 0..15)" start="14" size="1" />
      <BitField name="OT13" description="Port x configuration bits (y = 0..15)" start="13" size="1" />
      <BitField name="OT12" description="Port x configuration bits (y = 0..15)" start="12" size="1" />
      <BitField name="OT11" description="Port x configuration bits (y = 0..15)" start="11" size="1" />
      <BitField name="OT10" description="Port x configuration bits (y = 0..15)" start="10" size="1" />
      <BitField name="OT9" description="Port x configuration bits (y = 0..15)" start="9" size="1" />
      <BitField name="OT8" description="Port x configuration bits (y = 0..15)" start="8" size="1" />
      <BitField name="OT7" description="Port x configuration bits (y = 0..15)" start="7" size="1" />
      <BitField name="OT6" description="Port x configuration bits (y = 0..15)" start="6" size="1" />
      <BitField name="OT5" description="Port x configuration bits (y = 0..15)" start="5" size="1" />
      <BitField name="OT4" description="Port x configuration bits (y = 0..15)" start="4" size="1" />
      <BitField name="OT3" description="Port x configuration bits (y = 0..15)" start="3" size="1" />
      <BitField name="OT2" description="Port x configuration bits (y = 0..15)" start="2" size="1" />
      <BitField name="OT1" description="Port x configuration bits (y = 0..15)" start="1" size="1" />
      <BitField name="OT0" description="Port x configuration bits (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="OSPEEDR" description="GPIO port output speed register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OSPEEDR15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="OSPEEDR14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="OSPEEDR13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="OSPEEDR12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="OSPEEDR11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="OSPEEDR10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="OSPEEDR9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="OSPEEDR8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="OSPEEDR7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="OSPEEDR6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="OSPEEDR5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="OSPEEDR4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="OSPEEDR3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="OSPEEDR2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="OSPEEDR1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="OSPEEDR0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="PUPDR" description="GPIO port pull-up/pull-down register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PUPDR15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="PUPDR14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="PUPDR13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="PUPDR12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="PUPDR11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="PUPDR10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="PUPDR9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="PUPDR8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="PUPDR7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="PUPDR6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="PUPDR5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="PUPDR4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="PUPDR3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="PUPDR2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="PUPDR1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="PUPDR0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="IDR" description="GPIO port input data register" start="+0x10" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IDR15" description="Port input data (y = 0..15)" start="15" size="1" />
      <BitField name="IDR14" description="Port input data (y = 0..15)" start="14" size="1" />
      <BitField name="IDR13" description="Port input data (y = 0..15)" start="13" size="1" />
      <BitField name="IDR12" description="Port input data (y = 0..15)" start="12" size="1" />
      <BitField name="IDR11" description="Port input data (y = 0..15)" start="11" size="1" />
      <BitField name="IDR10" description="Port input data (y = 0..15)" start="10" size="1" />
      <BitField name="IDR9" description="Port input data (y = 0..15)" start="9" size="1" />
      <BitField name="IDR8" description="Port input data (y = 0..15)" start="8" size="1" />
      <BitField name="IDR7" description="Port input data (y = 0..15)" start="7" size="1" />
      <BitField name="IDR6" description="Port input data (y = 0..15)" start="6" size="1" />
      <BitField name="IDR5" description="Port input data (y = 0..15)" start="5" size="1" />
      <BitField name="IDR4" description="Port input data (y = 0..15)" start="4" size="1" />
      <BitField name="IDR3" description="Port input data (y = 0..15)" start="3" size="1" />
      <BitField name="IDR2" description="Port input data (y = 0..15)" start="2" size="1" />
      <BitField name="IDR1" description="Port input data (y = 0..15)" start="1" size="1" />
      <BitField name="IDR0" description="Port input data (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="ODR" description="GPIO port output data register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ODR15" description="Port output data (y = 0..15)" start="15" size="1" />
      <BitField name="ODR14" description="Port output data (y = 0..15)" start="14" size="1" />
      <BitField name="ODR13" description="Port output data (y = 0..15)" start="13" size="1" />
      <BitField name="ODR12" description="Port output data (y = 0..15)" start="12" size="1" />
      <BitField name="ODR11" description="Port output data (y = 0..15)" start="11" size="1" />
      <BitField name="ODR10" description="Port output data (y = 0..15)" start="10" size="1" />
      <BitField name="ODR9" description="Port output data (y = 0..15)" start="9" size="1" />
      <BitField name="ODR8" description="Port output data (y = 0..15)" start="8" size="1" />
      <BitField name="ODR7" description="Port output data (y = 0..15)" start="7" size="1" />
      <BitField name="ODR6" description="Port output data (y = 0..15)" start="6" size="1" />
      <BitField name="ODR5" description="Port output data (y = 0..15)" start="5" size="1" />
      <BitField name="ODR4" description="Port output data (y = 0..15)" start="4" size="1" />
      <BitField name="ODR3" description="Port output data (y = 0..15)" start="3" size="1" />
      <BitField name="ODR2" description="Port output data (y = 0..15)" start="2" size="1" />
      <BitField name="ODR1" description="Port output data (y = 0..15)" start="1" size="1" />
      <BitField name="ODR0" description="Port output data (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="BSRR" description="GPIO port bit set/reset register" start="+0x18" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BR15" description="Port x reset bit y (y = 0..15)" start="31" size="1" />
      <BitField name="BR14" description="Port x reset bit y (y = 0..15)" start="30" size="1" />
      <BitField name="BR13" description="Port x reset bit y (y = 0..15)" start="29" size="1" />
      <BitField name="BR12" description="Port x reset bit y (y = 0..15)" start="28" size="1" />
      <BitField name="BR11" description="Port x reset bit y (y = 0..15)" start="27" size="1" />
      <BitField name="BR10" description="Port x reset bit y (y = 0..15)" start="26" size="1" />
      <BitField name="BR9" description="Port x reset bit y (y = 0..15)" start="25" size="1" />
      <BitField name="BR8" description="Port x reset bit y (y = 0..15)" start="24" size="1" />
      <BitField name="BR7" description="Port x reset bit y (y = 0..15)" start="23" size="1" />
      <BitField name="BR6" description="Port x reset bit y (y = 0..15)" start="22" size="1" />
      <BitField name="BR5" description="Port x reset bit y (y = 0..15)" start="21" size="1" />
      <BitField name="BR4" description="Port x reset bit y (y = 0..15)" start="20" size="1" />
      <BitField name="BR3" description="Port x reset bit y (y = 0..15)" start="19" size="1" />
      <BitField name="BR2" description="Port x reset bit y (y = 0..15)" start="18" size="1" />
      <BitField name="BR1" description="Port x reset bit y (y = 0..15)" start="17" size="1" />
      <BitField name="BR0" description="Port x set bit y (y= 0..15)" start="16" size="1" />
      <BitField name="BS15" description="Port x set bit y (y= 0..15)" start="15" size="1" />
      <BitField name="BS14" description="Port x set bit y (y= 0..15)" start="14" size="1" />
      <BitField name="BS13" description="Port x set bit y (y= 0..15)" start="13" size="1" />
      <BitField name="BS12" description="Port x set bit y (y= 0..15)" start="12" size="1" />
      <BitField name="BS11" description="Port x set bit y (y= 0..15)" start="11" size="1" />
      <BitField name="BS10" description="Port x set bit y (y= 0..15)" start="10" size="1" />
      <BitField name="BS9" description="Port x set bit y (y= 0..15)" start="9" size="1" />
      <BitField name="BS8" description="Port x set bit y (y= 0..15)" start="8" size="1" />
      <BitField name="BS7" description="Port x set bit y (y= 0..15)" start="7" size="1" />
      <BitField name="BS6" description="Port x set bit y (y= 0..15)" start="6" size="1" />
      <BitField name="BS5" description="Port x set bit y (y= 0..15)" start="5" size="1" />
      <BitField name="BS4" description="Port x set bit y (y= 0..15)" start="4" size="1" />
      <BitField name="BS3" description="Port x set bit y (y= 0..15)" start="3" size="1" />
      <BitField name="BS2" description="Port x set bit y (y= 0..15)" start="2" size="1" />
      <BitField name="BS1" description="Port x set bit y (y= 0..15)" start="1" size="1" />
      <BitField name="BS0" description="Port x set bit y (y= 0..15)" start="0" size="1" />
    </Register>
    <Register name="LCKR" description="GPIO port configuration lock register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LCKK" description="Port x lock bit y (y= 0..15)" start="16" size="1" />
      <BitField name="LCK15" description="Port x lock bit y (y= 0..15)" start="15" size="1" />
      <BitField name="LCK14" description="Port x lock bit y (y= 0..15)" start="14" size="1" />
      <BitField name="LCK13" description="Port x lock bit y (y= 0..15)" start="13" size="1" />
      <BitField name="LCK12" description="Port x lock bit y (y= 0..15)" start="12" size="1" />
      <BitField name="LCK11" description="Port x lock bit y (y= 0..15)" start="11" size="1" />
      <BitField name="LCK10" description="Port x lock bit y (y= 0..15)" start="10" size="1" />
      <BitField name="LCK9" description="Port x lock bit y (y= 0..15)" start="9" size="1" />
      <BitField name="LCK8" description="Port x lock bit y (y= 0..15)" start="8" size="1" />
      <BitField name="LCK7" description="Port x lock bit y (y= 0..15)" start="7" size="1" />
      <BitField name="LCK6" description="Port x lock bit y (y= 0..15)" start="6" size="1" />
      <BitField name="LCK5" description="Port x lock bit y (y= 0..15)" start="5" size="1" />
      <BitField name="LCK4" description="Port x lock bit y (y= 0..15)" start="4" size="1" />
      <BitField name="LCK3" description="Port x lock bit y (y= 0..15)" start="3" size="1" />
      <BitField name="LCK2" description="Port x lock bit y (y= 0..15)" start="2" size="1" />
      <BitField name="LCK1" description="Port x lock bit y (y= 0..15)" start="1" size="1" />
      <BitField name="LCK0" description="Port x lock bit y (y= 0..15)" start="0" size="1" />
    </Register>
    <Register name="AFRL" description="GPIO alternate function low register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AFRL7" description="Alternate function selection for port x bit y (y = 0..7)" start="28" size="4" />
      <BitField name="AFRL6" description="Alternate function selection for port x bit y (y = 0..7)" start="24" size="4" />
      <BitField name="AFRL5" description="Alternate function selection for port x bit y (y = 0..7)" start="20" size="4" />
      <BitField name="AFRL4" description="Alternate function selection for port x bit y (y = 0..7)" start="16" size="4" />
      <BitField name="AFRL3" description="Alternate function selection for port x bit y (y = 0..7)" start="12" size="4" />
      <BitField name="AFRL2" description="Alternate function selection for port x bit y (y = 0..7)" start="8" size="4" />
      <BitField name="AFRL1" description="Alternate function selection for port x bit y (y = 0..7)" start="4" size="4" />
      <BitField name="AFRL0" description="Alternate function selection for port x bit y (y = 0..7)" start="0" size="4" />
    </Register>
    <Register name="AFRH" description="GPIO alternate function high register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AFRH15" description="Alternate function selection for port x bit y (y = 8..15)" start="28" size="4" />
      <BitField name="AFRH14" description="Alternate function selection for port x bit y (y = 8..15)" start="24" size="4" />
      <BitField name="AFRH13" description="Alternate function selection for port x bit y (y = 8..15)" start="20" size="4" />
      <BitField name="AFRH12" description="Alternate function selection for port x bit y (y = 8..15)" start="16" size="4" />
      <BitField name="AFRH11" description="Alternate function selection for port x bit y (y = 8..15)" start="12" size="4" />
      <BitField name="AFRH10" description="Alternate function selection for port x bit y (y = 8..15)" start="8" size="4" />
      <BitField name="AFRH9" description="Alternate function selection for port x bit y (y = 8..15)" start="4" size="4" />
      <BitField name="AFRH8" description="Alternate function selection for port x bit y (y = 8..15)" start="0" size="4" />
    </Register>
    <Register name="BRR" description="GPIO port bit reset register" start="+0x28" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BR0" description="Port Reset bit" start="0" size="1" />
      <BitField name="BR1" description="Port Reset bit" start="1" size="1" />
      <BitField name="BR2" description="Port Reset bit" start="2" size="1" />
      <BitField name="BR3" description="Port Reset bit" start="3" size="1" />
      <BitField name="BR4" description="Port Reset bit" start="4" size="1" />
      <BitField name="BR5" description="Port Reset bit" start="5" size="1" />
      <BitField name="BR6" description="Port Reset bit" start="6" size="1" />
      <BitField name="BR7" description="Port Reset bit" start="7" size="1" />
      <BitField name="BR8" description="Port Reset bit" start="8" size="1" />
      <BitField name="BR9" description="Port Reset bit" start="9" size="1" />
      <BitField name="BR10" description="Port Reset bit" start="10" size="1" />
      <BitField name="BR11" description="Port Reset bit" start="11" size="1" />
      <BitField name="BR12" description="Port Reset bit" start="12" size="1" />
      <BitField name="BR13" description="Port Reset bit" start="13" size="1" />
      <BitField name="BR14" description="Port Reset bit" start="14" size="1" />
      <BitField name="BR15" description="Port Reset bit" start="15" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="GPIOF" description="General-purpose I/Os" start="0x48001400">
    <Register name="MODER" description="GPIO port mode register" start="+0x0" size="4" access="Read/Write" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="MODER15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="MODER14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="MODER13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="MODER12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="MODER11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="MODER10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="MODER9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="MODER8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="MODER7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="MODER6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="MODER5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="MODER4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="MODER3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="MODER2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="MODER1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="MODER0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="OTYPER" description="GPIO port output type register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OT15" description="Port x configuration bits (y = 0..15)" start="15" size="1" />
      <BitField name="OT14" description="Port x configuration bits (y = 0..15)" start="14" size="1" />
      <BitField name="OT13" description="Port x configuration bits (y = 0..15)" start="13" size="1" />
      <BitField name="OT12" description="Port x configuration bits (y = 0..15)" start="12" size="1" />
      <BitField name="OT11" description="Port x configuration bits (y = 0..15)" start="11" size="1" />
      <BitField name="OT10" description="Port x configuration bits (y = 0..15)" start="10" size="1" />
      <BitField name="OT9" description="Port x configuration bits (y = 0..15)" start="9" size="1" />
      <BitField name="OT8" description="Port x configuration bits (y = 0..15)" start="8" size="1" />
      <BitField name="OT7" description="Port x configuration bits (y = 0..15)" start="7" size="1" />
      <BitField name="OT6" description="Port x configuration bits (y = 0..15)" start="6" size="1" />
      <BitField name="OT5" description="Port x configuration bits (y = 0..15)" start="5" size="1" />
      <BitField name="OT4" description="Port x configuration bits (y = 0..15)" start="4" size="1" />
      <BitField name="OT3" description="Port x configuration bits (y = 0..15)" start="3" size="1" />
      <BitField name="OT2" description="Port x configuration bits (y = 0..15)" start="2" size="1" />
      <BitField name="OT1" description="Port x configuration bits (y = 0..15)" start="1" size="1" />
      <BitField name="OT0" description="Port x configuration bits (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="OSPEEDR" description="GPIO port output speed register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OSPEEDR15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="OSPEEDR14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="OSPEEDR13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="OSPEEDR12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="OSPEEDR11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="OSPEEDR10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="OSPEEDR9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="OSPEEDR8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="OSPEEDR7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="OSPEEDR6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="OSPEEDR5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="OSPEEDR4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="OSPEEDR3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="OSPEEDR2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="OSPEEDR1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="OSPEEDR0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="PUPDR" description="GPIO port pull-up/pull-down register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PUPDR15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="PUPDR14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="PUPDR13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="PUPDR12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="PUPDR11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="PUPDR10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="PUPDR9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="PUPDR8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="PUPDR7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="PUPDR6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="PUPDR5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="PUPDR4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="PUPDR3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="PUPDR2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="PUPDR1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="PUPDR0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="IDR" description="GPIO port input data register" start="+0x10" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IDR15" description="Port input data (y = 0..15)" start="15" size="1" />
      <BitField name="IDR14" description="Port input data (y = 0..15)" start="14" size="1" />
      <BitField name="IDR13" description="Port input data (y = 0..15)" start="13" size="1" />
      <BitField name="IDR12" description="Port input data (y = 0..15)" start="12" size="1" />
      <BitField name="IDR11" description="Port input data (y = 0..15)" start="11" size="1" />
      <BitField name="IDR10" description="Port input data (y = 0..15)" start="10" size="1" />
      <BitField name="IDR9" description="Port input data (y = 0..15)" start="9" size="1" />
      <BitField name="IDR8" description="Port input data (y = 0..15)" start="8" size="1" />
      <BitField name="IDR7" description="Port input data (y = 0..15)" start="7" size="1" />
      <BitField name="IDR6" description="Port input data (y = 0..15)" start="6" size="1" />
      <BitField name="IDR5" description="Port input data (y = 0..15)" start="5" size="1" />
      <BitField name="IDR4" description="Port input data (y = 0..15)" start="4" size="1" />
      <BitField name="IDR3" description="Port input data (y = 0..15)" start="3" size="1" />
      <BitField name="IDR2" description="Port input data (y = 0..15)" start="2" size="1" />
      <BitField name="IDR1" description="Port input data (y = 0..15)" start="1" size="1" />
      <BitField name="IDR0" description="Port input data (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="ODR" description="GPIO port output data register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ODR15" description="Port output data (y = 0..15)" start="15" size="1" />
      <BitField name="ODR14" description="Port output data (y = 0..15)" start="14" size="1" />
      <BitField name="ODR13" description="Port output data (y = 0..15)" start="13" size="1" />
      <BitField name="ODR12" description="Port output data (y = 0..15)" start="12" size="1" />
      <BitField name="ODR11" description="Port output data (y = 0..15)" start="11" size="1" />
      <BitField name="ODR10" description="Port output data (y = 0..15)" start="10" size="1" />
      <BitField name="ODR9" description="Port output data (y = 0..15)" start="9" size="1" />
      <BitField name="ODR8" description="Port output data (y = 0..15)" start="8" size="1" />
      <BitField name="ODR7" description="Port output data (y = 0..15)" start="7" size="1" />
      <BitField name="ODR6" description="Port output data (y = 0..15)" start="6" size="1" />
      <BitField name="ODR5" description="Port output data (y = 0..15)" start="5" size="1" />
      <BitField name="ODR4" description="Port output data (y = 0..15)" start="4" size="1" />
      <BitField name="ODR3" description="Port output data (y = 0..15)" start="3" size="1" />
      <BitField name="ODR2" description="Port output data (y = 0..15)" start="2" size="1" />
      <BitField name="ODR1" description="Port output data (y = 0..15)" start="1" size="1" />
      <BitField name="ODR0" description="Port output data (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="BSRR" description="GPIO port bit set/reset register" start="+0x18" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BR15" description="Port x reset bit y (y = 0..15)" start="31" size="1" />
      <BitField name="BR14" description="Port x reset bit y (y = 0..15)" start="30" size="1" />
      <BitField name="BR13" description="Port x reset bit y (y = 0..15)" start="29" size="1" />
      <BitField name="BR12" description="Port x reset bit y (y = 0..15)" start="28" size="1" />
      <BitField name="BR11" description="Port x reset bit y (y = 0..15)" start="27" size="1" />
      <BitField name="BR10" description="Port x reset bit y (y = 0..15)" start="26" size="1" />
      <BitField name="BR9" description="Port x reset bit y (y = 0..15)" start="25" size="1" />
      <BitField name="BR8" description="Port x reset bit y (y = 0..15)" start="24" size="1" />
      <BitField name="BR7" description="Port x reset bit y (y = 0..15)" start="23" size="1" />
      <BitField name="BR6" description="Port x reset bit y (y = 0..15)" start="22" size="1" />
      <BitField name="BR5" description="Port x reset bit y (y = 0..15)" start="21" size="1" />
      <BitField name="BR4" description="Port x reset bit y (y = 0..15)" start="20" size="1" />
      <BitField name="BR3" description="Port x reset bit y (y = 0..15)" start="19" size="1" />
      <BitField name="BR2" description="Port x reset bit y (y = 0..15)" start="18" size="1" />
      <BitField name="BR1" description="Port x reset bit y (y = 0..15)" start="17" size="1" />
      <BitField name="BR0" description="Port x set bit y (y= 0..15)" start="16" size="1" />
      <BitField name="BS15" description="Port x set bit y (y= 0..15)" start="15" size="1" />
      <BitField name="BS14" description="Port x set bit y (y= 0..15)" start="14" size="1" />
      <BitField name="BS13" description="Port x set bit y (y= 0..15)" start="13" size="1" />
      <BitField name="BS12" description="Port x set bit y (y= 0..15)" start="12" size="1" />
      <BitField name="BS11" description="Port x set bit y (y= 0..15)" start="11" size="1" />
      <BitField name="BS10" description="Port x set bit y (y= 0..15)" start="10" size="1" />
      <BitField name="BS9" description="Port x set bit y (y= 0..15)" start="9" size="1" />
      <BitField name="BS8" description="Port x set bit y (y= 0..15)" start="8" size="1" />
      <BitField name="BS7" description="Port x set bit y (y= 0..15)" start="7" size="1" />
      <BitField name="BS6" description="Port x set bit y (y= 0..15)" start="6" size="1" />
      <BitField name="BS5" description="Port x set bit y (y= 0..15)" start="5" size="1" />
      <BitField name="BS4" description="Port x set bit y (y= 0..15)" start="4" size="1" />
      <BitField name="BS3" description="Port x set bit y (y= 0..15)" start="3" size="1" />
      <BitField name="BS2" description="Port x set bit y (y= 0..15)" start="2" size="1" />
      <BitField name="BS1" description="Port x set bit y (y= 0..15)" start="1" size="1" />
      <BitField name="BS0" description="Port x set bit y (y= 0..15)" start="0" size="1" />
    </Register>
    <Register name="LCKR" description="GPIO port configuration lock register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LCKK" description="Port x lock bit y (y= 0..15)" start="16" size="1" />
      <BitField name="LCK15" description="Port x lock bit y (y= 0..15)" start="15" size="1" />
      <BitField name="LCK14" description="Port x lock bit y (y= 0..15)" start="14" size="1" />
      <BitField name="LCK13" description="Port x lock bit y (y= 0..15)" start="13" size="1" />
      <BitField name="LCK12" description="Port x lock bit y (y= 0..15)" start="12" size="1" />
      <BitField name="LCK11" description="Port x lock bit y (y= 0..15)" start="11" size="1" />
      <BitField name="LCK10" description="Port x lock bit y (y= 0..15)" start="10" size="1" />
      <BitField name="LCK9" description="Port x lock bit y (y= 0..15)" start="9" size="1" />
      <BitField name="LCK8" description="Port x lock bit y (y= 0..15)" start="8" size="1" />
      <BitField name="LCK7" description="Port x lock bit y (y= 0..15)" start="7" size="1" />
      <BitField name="LCK6" description="Port x lock bit y (y= 0..15)" start="6" size="1" />
      <BitField name="LCK5" description="Port x lock bit y (y= 0..15)" start="5" size="1" />
      <BitField name="LCK4" description="Port x lock bit y (y= 0..15)" start="4" size="1" />
      <BitField name="LCK3" description="Port x lock bit y (y= 0..15)" start="3" size="1" />
      <BitField name="LCK2" description="Port x lock bit y (y= 0..15)" start="2" size="1" />
      <BitField name="LCK1" description="Port x lock bit y (y= 0..15)" start="1" size="1" />
      <BitField name="LCK0" description="Port x lock bit y (y= 0..15)" start="0" size="1" />
    </Register>
    <Register name="AFRL" description="GPIO alternate function low register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AFRL7" description="Alternate function selection for port x bit y (y = 0..7)" start="28" size="4" />
      <BitField name="AFRL6" description="Alternate function selection for port x bit y (y = 0..7)" start="24" size="4" />
      <BitField name="AFRL5" description="Alternate function selection for port x bit y (y = 0..7)" start="20" size="4" />
      <BitField name="AFRL4" description="Alternate function selection for port x bit y (y = 0..7)" start="16" size="4" />
      <BitField name="AFRL3" description="Alternate function selection for port x bit y (y = 0..7)" start="12" size="4" />
      <BitField name="AFRL2" description="Alternate function selection for port x bit y (y = 0..7)" start="8" size="4" />
      <BitField name="AFRL1" description="Alternate function selection for port x bit y (y = 0..7)" start="4" size="4" />
      <BitField name="AFRL0" description="Alternate function selection for port x bit y (y = 0..7)" start="0" size="4" />
    </Register>
    <Register name="AFRH" description="GPIO alternate function high register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AFRH15" description="Alternate function selection for port x bit y (y = 8..15)" start="28" size="4" />
      <BitField name="AFRH14" description="Alternate function selection for port x bit y (y = 8..15)" start="24" size="4" />
      <BitField name="AFRH13" description="Alternate function selection for port x bit y (y = 8..15)" start="20" size="4" />
      <BitField name="AFRH12" description="Alternate function selection for port x bit y (y = 8..15)" start="16" size="4" />
      <BitField name="AFRH11" description="Alternate function selection for port x bit y (y = 8..15)" start="12" size="4" />
      <BitField name="AFRH10" description="Alternate function selection for port x bit y (y = 8..15)" start="8" size="4" />
      <BitField name="AFRH9" description="Alternate function selection for port x bit y (y = 8..15)" start="4" size="4" />
      <BitField name="AFRH8" description="Alternate function selection for port x bit y (y = 8..15)" start="0" size="4" />
    </Register>
    <Register name="BRR" description="GPIO port bit reset register" start="+0x28" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BR0" description="Port Reset bit" start="0" size="1" />
      <BitField name="BR1" description="Port Reset bit" start="1" size="1" />
      <BitField name="BR2" description="Port Reset bit" start="2" size="1" />
      <BitField name="BR3" description="Port Reset bit" start="3" size="1" />
      <BitField name="BR4" description="Port Reset bit" start="4" size="1" />
      <BitField name="BR5" description="Port Reset bit" start="5" size="1" />
      <BitField name="BR6" description="Port Reset bit" start="6" size="1" />
      <BitField name="BR7" description="Port Reset bit" start="7" size="1" />
      <BitField name="BR8" description="Port Reset bit" start="8" size="1" />
      <BitField name="BR9" description="Port Reset bit" start="9" size="1" />
      <BitField name="BR10" description="Port Reset bit" start="10" size="1" />
      <BitField name="BR11" description="Port Reset bit" start="11" size="1" />
      <BitField name="BR12" description="Port Reset bit" start="12" size="1" />
      <BitField name="BR13" description="Port Reset bit" start="13" size="1" />
      <BitField name="BR14" description="Port Reset bit" start="14" size="1" />
      <BitField name="BR15" description="Port Reset bit" start="15" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="GPIOG" description="General-purpose I/Os" start="0x48001800">
    <Register name="MODER" description="GPIO port mode register" start="+0x0" size="4" access="Read/Write" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="MODER15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="MODER14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="MODER13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="MODER12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="MODER11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="MODER10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="MODER9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="MODER8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="MODER7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="MODER6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="MODER5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="MODER4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="MODER3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="MODER2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="MODER1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="MODER0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="OTYPER" description="GPIO port output type register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OT15" description="Port x configuration bits (y = 0..15)" start="15" size="1" />
      <BitField name="OT14" description="Port x configuration bits (y = 0..15)" start="14" size="1" />
      <BitField name="OT13" description="Port x configuration bits (y = 0..15)" start="13" size="1" />
      <BitField name="OT12" description="Port x configuration bits (y = 0..15)" start="12" size="1" />
      <BitField name="OT11" description="Port x configuration bits (y = 0..15)" start="11" size="1" />
      <BitField name="OT10" description="Port x configuration bits (y = 0..15)" start="10" size="1" />
      <BitField name="OT9" description="Port x configuration bits (y = 0..15)" start="9" size="1" />
      <BitField name="OT8" description="Port x configuration bits (y = 0..15)" start="8" size="1" />
      <BitField name="OT7" description="Port x configuration bits (y = 0..15)" start="7" size="1" />
      <BitField name="OT6" description="Port x configuration bits (y = 0..15)" start="6" size="1" />
      <BitField name="OT5" description="Port x configuration bits (y = 0..15)" start="5" size="1" />
      <BitField name="OT4" description="Port x configuration bits (y = 0..15)" start="4" size="1" />
      <BitField name="OT3" description="Port x configuration bits (y = 0..15)" start="3" size="1" />
      <BitField name="OT2" description="Port x configuration bits (y = 0..15)" start="2" size="1" />
      <BitField name="OT1" description="Port x configuration bits (y = 0..15)" start="1" size="1" />
      <BitField name="OT0" description="Port x configuration bits (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="OSPEEDR" description="GPIO port output speed register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OSPEEDR15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="OSPEEDR14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="OSPEEDR13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="OSPEEDR12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="OSPEEDR11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="OSPEEDR10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="OSPEEDR9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="OSPEEDR8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="OSPEEDR7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="OSPEEDR6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="OSPEEDR5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="OSPEEDR4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="OSPEEDR3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="OSPEEDR2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="OSPEEDR1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="OSPEEDR0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="PUPDR" description="GPIO port pull-up/pull-down register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PUPDR15" description="Port x configuration bits (y = 0..15)" start="30" size="2" />
      <BitField name="PUPDR14" description="Port x configuration bits (y = 0..15)" start="28" size="2" />
      <BitField name="PUPDR13" description="Port x configuration bits (y = 0..15)" start="26" size="2" />
      <BitField name="PUPDR12" description="Port x configuration bits (y = 0..15)" start="24" size="2" />
      <BitField name="PUPDR11" description="Port x configuration bits (y = 0..15)" start="22" size="2" />
      <BitField name="PUPDR10" description="Port x configuration bits (y = 0..15)" start="20" size="2" />
      <BitField name="PUPDR9" description="Port x configuration bits (y = 0..15)" start="18" size="2" />
      <BitField name="PUPDR8" description="Port x configuration bits (y = 0..15)" start="16" size="2" />
      <BitField name="PUPDR7" description="Port x configuration bits (y = 0..15)" start="14" size="2" />
      <BitField name="PUPDR6" description="Port x configuration bits (y = 0..15)" start="12" size="2" />
      <BitField name="PUPDR5" description="Port x configuration bits (y = 0..15)" start="10" size="2" />
      <BitField name="PUPDR4" description="Port x configuration bits (y = 0..15)" start="8" size="2" />
      <BitField name="PUPDR3" description="Port x configuration bits (y = 0..15)" start="6" size="2" />
      <BitField name="PUPDR2" description="Port x configuration bits (y = 0..15)" start="4" size="2" />
      <BitField name="PUPDR1" description="Port x configuration bits (y = 0..15)" start="2" size="2" />
      <BitField name="PUPDR0" description="Port x configuration bits (y = 0..15)" start="0" size="2" />
    </Register>
    <Register name="IDR" description="GPIO port input data register" start="+0x10" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IDR15" description="Port input data (y = 0..15)" start="15" size="1" />
      <BitField name="IDR14" description="Port input data (y = 0..15)" start="14" size="1" />
      <BitField name="IDR13" description="Port input data (y = 0..15)" start="13" size="1" />
      <BitField name="IDR12" description="Port input data (y = 0..15)" start="12" size="1" />
      <BitField name="IDR11" description="Port input data (y = 0..15)" start="11" size="1" />
      <BitField name="IDR10" description="Port input data (y = 0..15)" start="10" size="1" />
      <BitField name="IDR9" description="Port input data (y = 0..15)" start="9" size="1" />
      <BitField name="IDR8" description="Port input data (y = 0..15)" start="8" size="1" />
      <BitField name="IDR7" description="Port input data (y = 0..15)" start="7" size="1" />
      <BitField name="IDR6" description="Port input data (y = 0..15)" start="6" size="1" />
      <BitField name="IDR5" description="Port input data (y = 0..15)" start="5" size="1" />
      <BitField name="IDR4" description="Port input data (y = 0..15)" start="4" size="1" />
      <BitField name="IDR3" description="Port input data (y = 0..15)" start="3" size="1" />
      <BitField name="IDR2" description="Port input data (y = 0..15)" start="2" size="1" />
      <BitField name="IDR1" description="Port input data (y = 0..15)" start="1" size="1" />
      <BitField name="IDR0" description="Port input data (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="ODR" description="GPIO port output data register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ODR15" description="Port output data (y = 0..15)" start="15" size="1" />
      <BitField name="ODR14" description="Port output data (y = 0..15)" start="14" size="1" />
      <BitField name="ODR13" description="Port output data (y = 0..15)" start="13" size="1" />
      <BitField name="ODR12" description="Port output data (y = 0..15)" start="12" size="1" />
      <BitField name="ODR11" description="Port output data (y = 0..15)" start="11" size="1" />
      <BitField name="ODR10" description="Port output data (y = 0..15)" start="10" size="1" />
      <BitField name="ODR9" description="Port output data (y = 0..15)" start="9" size="1" />
      <BitField name="ODR8" description="Port output data (y = 0..15)" start="8" size="1" />
      <BitField name="ODR7" description="Port output data (y = 0..15)" start="7" size="1" />
      <BitField name="ODR6" description="Port output data (y = 0..15)" start="6" size="1" />
      <BitField name="ODR5" description="Port output data (y = 0..15)" start="5" size="1" />
      <BitField name="ODR4" description="Port output data (y = 0..15)" start="4" size="1" />
      <BitField name="ODR3" description="Port output data (y = 0..15)" start="3" size="1" />
      <BitField name="ODR2" description="Port output data (y = 0..15)" start="2" size="1" />
      <BitField name="ODR1" description="Port output data (y = 0..15)" start="1" size="1" />
      <BitField name="ODR0" description="Port output data (y = 0..15)" start="0" size="1" />
    </Register>
    <Register name="BSRR" description="GPIO port bit set/reset register" start="+0x18" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BR15" description="Port x reset bit y (y = 0..15)" start="31" size="1" />
      <BitField name="BR14" description="Port x reset bit y (y = 0..15)" start="30" size="1" />
      <BitField name="BR13" description="Port x reset bit y (y = 0..15)" start="29" size="1" />
      <BitField name="BR12" description="Port x reset bit y (y = 0..15)" start="28" size="1" />
      <BitField name="BR11" description="Port x reset bit y (y = 0..15)" start="27" size="1" />
      <BitField name="BR10" description="Port x reset bit y (y = 0..15)" start="26" size="1" />
      <BitField name="BR9" description="Port x reset bit y (y = 0..15)" start="25" size="1" />
      <BitField name="BR8" description="Port x reset bit y (y = 0..15)" start="24" size="1" />
      <BitField name="BR7" description="Port x reset bit y (y = 0..15)" start="23" size="1" />
      <BitField name="BR6" description="Port x reset bit y (y = 0..15)" start="22" size="1" />
      <BitField name="BR5" description="Port x reset bit y (y = 0..15)" start="21" size="1" />
      <BitField name="BR4" description="Port x reset bit y (y = 0..15)" start="20" size="1" />
      <BitField name="BR3" description="Port x reset bit y (y = 0..15)" start="19" size="1" />
      <BitField name="BR2" description="Port x reset bit y (y = 0..15)" start="18" size="1" />
      <BitField name="BR1" description="Port x reset bit y (y = 0..15)" start="17" size="1" />
      <BitField name="BR0" description="Port x set bit y (y= 0..15)" start="16" size="1" />
      <BitField name="BS15" description="Port x set bit y (y= 0..15)" start="15" size="1" />
      <BitField name="BS14" description="Port x set bit y (y= 0..15)" start="14" size="1" />
      <BitField name="BS13" description="Port x set bit y (y= 0..15)" start="13" size="1" />
      <BitField name="BS12" description="Port x set bit y (y= 0..15)" start="12" size="1" />
      <BitField name="BS11" description="Port x set bit y (y= 0..15)" start="11" size="1" />
      <BitField name="BS10" description="Port x set bit y (y= 0..15)" start="10" size="1" />
      <BitField name="BS9" description="Port x set bit y (y= 0..15)" start="9" size="1" />
      <BitField name="BS8" description="Port x set bit y (y= 0..15)" start="8" size="1" />
      <BitField name="BS7" description="Port x set bit y (y= 0..15)" start="7" size="1" />
      <BitField name="BS6" description="Port x set bit y (y= 0..15)" start="6" size="1" />
      <BitField name="BS5" description="Port x set bit y (y= 0..15)" start="5" size="1" />
      <BitField name="BS4" description="Port x set bit y (y= 0..15)" start="4" size="1" />
      <BitField name="BS3" description="Port x set bit y (y= 0..15)" start="3" size="1" />
      <BitField name="BS2" description="Port x set bit y (y= 0..15)" start="2" size="1" />
      <BitField name="BS1" description="Port x set bit y (y= 0..15)" start="1" size="1" />
      <BitField name="BS0" description="Port x set bit y (y= 0..15)" start="0" size="1" />
    </Register>
    <Register name="LCKR" description="GPIO port configuration lock register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LCKK" description="Port x lock bit y (y= 0..15)" start="16" size="1" />
      <BitField name="LCK15" description="Port x lock bit y (y= 0..15)" start="15" size="1" />
      <BitField name="LCK14" description="Port x lock bit y (y= 0..15)" start="14" size="1" />
      <BitField name="LCK13" description="Port x lock bit y (y= 0..15)" start="13" size="1" />
      <BitField name="LCK12" description="Port x lock bit y (y= 0..15)" start="12" size="1" />
      <BitField name="LCK11" description="Port x lock bit y (y= 0..15)" start="11" size="1" />
      <BitField name="LCK10" description="Port x lock bit y (y= 0..15)" start="10" size="1" />
      <BitField name="LCK9" description="Port x lock bit y (y= 0..15)" start="9" size="1" />
      <BitField name="LCK8" description="Port x lock bit y (y= 0..15)" start="8" size="1" />
      <BitField name="LCK7" description="Port x lock bit y (y= 0..15)" start="7" size="1" />
      <BitField name="LCK6" description="Port x lock bit y (y= 0..15)" start="6" size="1" />
      <BitField name="LCK5" description="Port x lock bit y (y= 0..15)" start="5" size="1" />
      <BitField name="LCK4" description="Port x lock bit y (y= 0..15)" start="4" size="1" />
      <BitField name="LCK3" description="Port x lock bit y (y= 0..15)" start="3" size="1" />
      <BitField name="LCK2" description="Port x lock bit y (y= 0..15)" start="2" size="1" />
      <BitField name="LCK1" description="Port x lock bit y (y= 0..15)" start="1" size="1" />
      <BitField name="LCK0" description="Port x lock bit y (y= 0..15)" start="0" size="1" />
    </Register>
    <Register name="AFRL" description="GPIO alternate function low register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AFRL7" description="Alternate function selection for port x bit y (y = 0..7)" start="28" size="4" />
      <BitField name="AFRL6" description="Alternate function selection for port x bit y (y = 0..7)" start="24" size="4" />
      <BitField name="AFRL5" description="Alternate function selection for port x bit y (y = 0..7)" start="20" size="4" />
      <BitField name="AFRL4" description="Alternate function selection for port x bit y (y = 0..7)" start="16" size="4" />
      <BitField name="AFRL3" description="Alternate function selection for port x bit y (y = 0..7)" start="12" size="4" />
      <BitField name="AFRL2" description="Alternate function selection for port x bit y (y = 0..7)" start="8" size="4" />
      <BitField name="AFRL1" description="Alternate function selection for port x bit y (y = 0..7)" start="4" size="4" />
      <BitField name="AFRL0" description="Alternate function selection for port x bit y (y = 0..7)" start="0" size="4" />
    </Register>
    <Register name="AFRH" description="GPIO alternate function high register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AFRH15" description="Alternate function selection for port x bit y (y = 8..15)" start="28" size="4" />
      <BitField name="AFRH14" description="Alternate function selection for port x bit y (y = 8..15)" start="24" size="4" />
      <BitField name="AFRH13" description="Alternate function selection for port x bit y (y = 8..15)" start="20" size="4" />
      <BitField name="AFRH12" description="Alternate function selection for port x bit y (y = 8..15)" start="16" size="4" />
      <BitField name="AFRH11" description="Alternate function selection for port x bit y (y = 8..15)" start="12" size="4" />
      <BitField name="AFRH10" description="Alternate function selection for port x bit y (y = 8..15)" start="8" size="4" />
      <BitField name="AFRH9" description="Alternate function selection for port x bit y (y = 8..15)" start="4" size="4" />
      <BitField name="AFRH8" description="Alternate function selection for port x bit y (y = 8..15)" start="0" size="4" />
    </Register>
    <Register name="BRR" description="GPIO port bit reset register" start="+0x28" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BR0" description="Port Reset bit" start="0" size="1" />
      <BitField name="BR1" description="Port Reset bit" start="1" size="1" />
      <BitField name="BR2" description="Port Reset bit" start="2" size="1" />
      <BitField name="BR3" description="Port Reset bit" start="3" size="1" />
      <BitField name="BR4" description="Port Reset bit" start="4" size="1" />
      <BitField name="BR5" description="Port Reset bit" start="5" size="1" />
      <BitField name="BR6" description="Port Reset bit" start="6" size="1" />
      <BitField name="BR7" description="Port Reset bit" start="7" size="1" />
      <BitField name="BR8" description="Port Reset bit" start="8" size="1" />
      <BitField name="BR9" description="Port Reset bit" start="9" size="1" />
      <BitField name="BR10" description="Port Reset bit" start="10" size="1" />
      <BitField name="BR11" description="Port Reset bit" start="11" size="1" />
      <BitField name="BR12" description="Port Reset bit" start="12" size="1" />
      <BitField name="BR13" description="Port Reset bit" start="13" size="1" />
      <BitField name="BR14" description="Port Reset bit" start="14" size="1" />
      <BitField name="BR15" description="Port Reset bit" start="15" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM15" description="General purpose timers" start="0x40014000">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CEN" description="Counter enable" start="0" size="1" />
      <BitField name="UDIS" description="Update disable" start="1" size="1" />
      <BitField name="URS" description="Update request source" start="2" size="1" />
      <BitField name="OPM" description="One-pulse mode" start="3" size="1" />
      <BitField name="ARPE" description="Auto-reload preload enable" start="7" size="1" />
      <BitField name="CKD" description="Clock division" start="8" size="2" />
      <BitField name="UIFREMAP" description="UIF status bit remapping" start="11" size="1" />
      <BitField name="DITHEN" description="Dithering Enable" start="12" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OIS2" description="Output idle state 2 (OC2 output)" start="10" size="1" />
      <BitField name="OIS1N" description="Output Idle state 1" start="9" size="1" />
      <BitField name="OIS1" description="Output Idle state 1" start="8" size="1" />
      <BitField name="TI1S" description="TI1 selection" start="7" size="1" />
      <BitField name="MMS" description="Master mode selection" start="4" size="3" />
      <BitField name="CCDS" description="Capture/compare DMA selection" start="3" size="1" />
      <BitField name="CCUS" description="Capture/compare control update selection" start="2" size="1" />
      <BitField name="CCPC" description="Capture/compare preloaded control" start="0" size="1" />
    </Register>
    <Register name="SMCR" description="slave mode control register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TS_4_3" description="Trigger selection - bit 4:3" start="20" size="2" />
      <BitField name="SMS_3" description="Slave mode selection - bit 3" start="16" size="1" />
      <BitField name="MSM" description="Master/Slave mode" start="7" size="1" />
      <BitField name="TS" description="Trigger selection" start="4" size="3" />
      <BitField name="SMS" description="Slave mode selection" start="0" size="3" />
    </Register>
    <Register name="DIER" description="DMA/Interrupt enable register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TDE" description="Trigger DMA request enable" start="14" size="1" />
      <BitField name="COMDE" description="COM DMA request enable" start="13" size="1" />
      <BitField name="CC2DE" description="Capture/Compare 2 DMA request enable" start="10" size="1" />
      <BitField name="CC1DE" description="Capture/Compare 1 DMA request enable" start="9" size="1" />
      <BitField name="UDE" description="Update DMA request enable" start="8" size="1" />
      <BitField name="BIE" description="Break interrupt enable" start="7" size="1" />
      <BitField name="TIE" description="Trigger interrupt enable" start="6" size="1" />
      <BitField name="COMIE" description="COM interrupt enable" start="5" size="1" />
      <BitField name="CC2IE" description="Capture/Compare 2 interrupt enable" start="2" size="1" />
      <BitField name="CC1IE" description="Capture/Compare 1 interrupt enable" start="1" size="1" />
      <BitField name="UIE" description="Update interrupt enable" start="0" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CC2OF" description="Capture/Compare 2 overcapture flag" start="10" size="1" />
      <BitField name="CC1OF" description="Capture/Compare 1 overcapture flag" start="9" size="1" />
      <BitField name="BIF" description="Break interrupt flag" start="7" size="1" />
      <BitField name="TIF" description="Trigger interrupt flag" start="6" size="1" />
      <BitField name="COMIF" description="COM interrupt flag" start="5" size="1" />
      <BitField name="CC2IF" description="Capture/compare 2 interrupt flag" start="2" size="1" />
      <BitField name="CC1IF" description="Capture/compare 1 interrupt flag" start="1" size="1" />
      <BitField name="UIF" description="Update interrupt flag" start="0" size="1" />
    </Register>
    <Register name="EGR" description="event generation register" start="+0x14" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BG" description="Break generation" start="7" size="1" />
      <BitField name="TG" description="Trigger generation" start="6" size="1" />
      <BitField name="COMG" description="Capture/Compare control update generation" start="5" size="1" />
      <BitField name="CC2G" description="Capture/compare 2 generation" start="2" size="1" />
      <BitField name="CC1G" description="Capture/compare 1 generation" start="1" size="1" />
      <BitField name="UG" description="Update generation" start="0" size="1" />
    </Register>
    <Register name="CCMR1_Output" description="capture/compare mode register (output mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC2M_3" description="Output Compare 2 mode - bit 3" start="24" size="1" />
      <BitField name="OC1M_3" description="Output Compare 1 mode" start="16" size="1" />
      <BitField name="OC2M" description="OC2M" start="12" size="3" />
      <BitField name="OC2PE" description="OC2PE" start="11" size="1" />
      <BitField name="OC2FE" description="OC2FE" start="10" size="1" />
      <BitField name="CC2S" description="CC2S" start="8" size="2" />
      <BitField name="OC1CE" description="OC1CE" start="7" size="1" />
      <BitField name="OC1M" description="Output Compare 1 mode" start="4" size="3" />
      <BitField name="OC1PE" description="Output Compare 1 preload enable" start="3" size="1" />
      <BitField name="OC1FE" description="Output Compare 1 fast enable" start="2" size="1" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR1_Input" description="capture/compare mode register 1 (input mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC2F" description="IC2F" start="12" size="4" />
      <BitField name="IC2PSC" description="IC2PSC" start="10" size="2" />
      <BitField name="CC2S" description="CC2S" start="8" size="2" />
      <BitField name="IC1F" description="Input capture 1 filter" start="4" size="4" />
      <BitField name="IC1PSC" description="Input capture 1 prescaler" start="2" size="2" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCER" description="capture/compare enable register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CC2NP" description="Capture/Compare 2 complementary output polarity" start="7" size="1" />
      <BitField name="CC2P" description="Capture/Compare 2 output polarity" start="5" size="1" />
      <BitField name="CC2E" description="Capture/Compare 2 output enable" start="4" size="1" />
      <BitField name="CC1NP" description="Capture/Compare 1 output Polarity" start="3" size="1" />
      <BitField name="CC1NE" description="Capture/Compare 1 complementary output enable" start="2" size="1" />
      <BitField name="CC1P" description="Capture/Compare 1 output Polarity" start="1" size="1" />
      <BitField name="CC1E" description="Capture/Compare 1 output enable" start="0" size="1" />
    </Register>
    <Register name="CNT" description="counter" start="+0x24" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CNT" description="counter value" start="0" size="16" access="Read/Write" />
      <BitField name="UIFCPY" description="UIF Copy" start="31" size="1" access="ReadOnly" />
    </Register>
    <Register name="PSC" description="prescaler" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PSC" description="Prescaler value" start="0" size="16" />
    </Register>
    <Register name="ARR" description="auto-reload register" start="+0x2C" size="4" access="Read/Write" reset_value="0x0000FFFF" reset_mask="0xFFFFFFFF">
      <BitField name="ARR" description="Auto-reload value" start="0" size="16" />
    </Register>
    <Register name="RCR" description="repetition counter register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="REP" description="Repetition counter value" start="0" size="8" />
    </Register>
    <Register name="CCR1" description="capture/compare register 1" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR1" description="Capture/Compare 1 value" start="0" size="16" />
    </Register>
    <Register name="CCR2" description="capture/compare register 2" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR2" description="Capture/Compare 1 value" start="0" size="16" />
    </Register>
    <Register name="BDTR" description="break and dead-time register" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DTG" description="Dead-time generator setup" start="0" size="8" />
      <BitField name="LOCK" description="Lock configuration" start="8" size="2" />
      <BitField name="OSSI" description="Off-state selection for Idle mode" start="10" size="1" />
      <BitField name="OSSR" description="Off-state selection for Run mode" start="11" size="1" />
      <BitField name="BKE" description="Break enable" start="12" size="1" />
      <BitField name="BKP" description="Break polarity" start="13" size="1" />
      <BitField name="AOE" description="Automatic output enable" start="14" size="1" />
      <BitField name="MOE" description="Main output enable" start="15" size="1" />
      <BitField name="BKF" description="Break filter" start="16" size="4" />
      <BitField name="BKDSRM" description="BKDSRM" start="26" size="1" />
      <BitField name="BKBID" description="BKBID" start="28" size="1" />
    </Register>
    <Register name="DTR2" description="timer Deadtime Register 2" start="+0x54" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DTGF" description="Dead-time generator setup" start="0" size="8" />
      <BitField name="DTAE" description="Deadtime Asymmetric Enable" start="16" size="1" />
      <BitField name="DTPE" description="Deadtime Preload Enable" start="17" size="1" />
    </Register>
    <Register name="TISEL" description="TIM timer input selection register" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TI1SEL" description="TI1[0] to TI1[15] input selection" start="0" size="4" />
      <BitField name="TI2SEL" description="TI2[0] to TI2[15] input selection" start="8" size="4" />
    </Register>
    <Register name="AF1" description="TIM alternate function option register 1" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKCMP4P" description="BRK COMP4 input polarity" start="13" size="1" />
      <BitField name="BKCMP3P" description="BRK COMP3 input polarity" start="12" size="1" />
      <BitField name="BKCMP2P" description="BRK COMP2 input polarity" start="11" size="1" />
      <BitField name="BKCMP1P" description="BRK COMP1 input polarity" start="10" size="1" />
      <BitField name="BKINP" description="BRK BKIN input polarity" start="9" size="1" />
      <BitField name="BKCMP7E" description="BRK COMP7 enable" start="7" size="1" />
      <BitField name="BKCMP6E" description="BRK COMP6 enable" start="6" size="1" />
      <BitField name="BKCMP5E" description="BRK COMP5 enable" start="5" size="1" />
      <BitField name="BKCMP4E" description="BRK COMP4 enable" start="4" size="1" />
      <BitField name="BKCMP3E" description="BRK COMP3 enable" start="3" size="1" />
      <BitField name="BKCMP2E" description="BRK COMP2 enable" start="2" size="1" />
      <BitField name="BKCMP1E" description="BRK COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="AF2" description="TIM alternate function option register 2" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OCRSEL" description="OCREF_CLR source selection" start="16" size="3" />
    </Register>
    <Register name="DCR" description="DMA control register" start="+0x3DC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DBL" description="DMA burst length" start="8" size="5" />
      <BitField name="DBA" description="DMA base address" start="0" size="5" />
    </Register>
    <Register name="DMAR" description="DMA address for full transfer" start="+0x3E0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAB" description="DMA register for burst accesses" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM16" description="General purpose timers" start="0x40014400">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CEN" description="Counter enable" start="0" size="1" />
      <BitField name="UDIS" description="Update disable" start="1" size="1" />
      <BitField name="URS" description="Update request source" start="2" size="1" />
      <BitField name="OPM" description="One-pulse mode" start="3" size="1" />
      <BitField name="ARPE" description="Auto-reload preload enable" start="7" size="1" />
      <BitField name="CKD" description="Clock division" start="8" size="2" />
      <BitField name="UIFREMAP" description="UIF status bit remapping" start="11" size="1" />
      <BitField name="DITHEN" description="Dithering Enable" start="12" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OIS1N" description="Output Idle state 1" start="9" size="1" />
      <BitField name="OIS1" description="Output Idle state 1" start="8" size="1" />
      <BitField name="CCDS" description="Capture/compare DMA selection" start="3" size="1" />
      <BitField name="CCUS" description="Capture/compare control update selection" start="2" size="1" />
      <BitField name="CCPC" description="Capture/compare preloaded control" start="0" size="1" />
    </Register>
    <Register name="DIER" description="DMA/Interrupt enable register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="COMDE" description="COM DMA request enable" start="13" size="1" />
      <BitField name="CC1DE" description="Capture/Compare 1 DMA request enable" start="9" size="1" />
      <BitField name="UDE" description="Update DMA request enable" start="8" size="1" />
      <BitField name="BIE" description="Break interrupt enable" start="7" size="1" />
      <BitField name="COMIE" description="COM interrupt enable" start="5" size="1" />
      <BitField name="CC1IE" description="Capture/Compare 1 interrupt enable" start="1" size="1" />
      <BitField name="UIE" description="Update interrupt enable" start="0" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CC1OF" description="Capture/Compare 1 overcapture flag" start="9" size="1" />
      <BitField name="BIF" description="Break interrupt flag" start="7" size="1" />
      <BitField name="COMIF" description="COM interrupt flag" start="5" size="1" />
      <BitField name="CC1IF" description="Capture/compare 1 interrupt flag" start="1" size="1" />
      <BitField name="UIF" description="Update interrupt flag" start="0" size="1" />
    </Register>
    <Register name="EGR" description="event generation register" start="+0x14" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BG" description="Break generation" start="7" size="1" />
      <BitField name="COMG" description="Capture/Compare control update generation" start="5" size="1" />
      <BitField name="CC1G" description="Capture/compare 1 generation" start="1" size="1" />
      <BitField name="UG" description="Update generation" start="0" size="1" />
    </Register>
    <Register name="CCMR1_Output" description="capture/compare mode register (output mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC1M_3" description="Output Compare 1 mode" start="16" size="1" />
      <BitField name="OC1M" description="Output Compare 1 mode" start="4" size="3" />
      <BitField name="OC1PE" description="Output Compare 1 preload enable" start="3" size="1" />
      <BitField name="OC1FE" description="Output Compare 1 fast enable" start="2" size="1" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR1_Input" description="capture/compare mode register 1 (input mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC1F" description="Input capture 1 filter" start="4" size="4" />
      <BitField name="IC1PSC" description="Input capture 1 prescaler" start="2" size="2" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCER" description="capture/compare enable register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CC1NP" description="Capture/Compare 1 output Polarity" start="3" size="1" />
      <BitField name="CC1NE" description="Capture/Compare 1 complementary output enable" start="2" size="1" />
      <BitField name="CC1P" description="Capture/Compare 1 output Polarity" start="1" size="1" />
      <BitField name="CC1E" description="Capture/Compare 1 output enable" start="0" size="1" />
    </Register>
    <Register name="CNT" description="counter" start="+0x24" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CNT" description="counter value" start="0" size="16" access="Read/Write" />
      <BitField name="UIFCPY" description="UIF Copy" start="31" size="1" access="ReadOnly" />
    </Register>
    <Register name="PSC" description="prescaler" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PSC" description="Prescaler value" start="0" size="16" />
    </Register>
    <Register name="ARR" description="auto-reload register" start="+0x2C" size="4" access="Read/Write" reset_value="0x0000FFFF" reset_mask="0xFFFFFFFF">
      <BitField name="ARR" description="Auto-reload value" start="0" size="16" />
    </Register>
    <Register name="RCR" description="repetition counter register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="REP" description="Repetition counter value" start="0" size="8" />
    </Register>
    <Register name="CCR1" description="capture/compare register 1" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR1" description="Capture/Compare 1 value" start="0" size="16" />
    </Register>
    <Register name="BDTR" description="break and dead-time register" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DTG" description="Dead-time generator setup" start="0" size="8" />
      <BitField name="LOCK" description="Lock configuration" start="8" size="2" />
      <BitField name="OSSI" description="Off-state selection for Idle mode" start="10" size="1" />
      <BitField name="OSSR" description="Off-state selection for Run mode" start="11" size="1" />
      <BitField name="BKE" description="Break enable" start="12" size="1" />
      <BitField name="BKP" description="Break polarity" start="13" size="1" />
      <BitField name="AOE" description="Automatic output enable" start="14" size="1" />
      <BitField name="MOE" description="Main output enable" start="15" size="1" />
      <BitField name="BKF" description="Break filter" start="16" size="4" />
      <BitField name="BKDSRM" description="BKDSRM" start="26" size="1" />
      <BitField name="BKBID" description="BKBID" start="28" size="1" />
    </Register>
    <Register name="DTR2" description="timer Deadtime Register 2" start="+0x54" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DTGF" description="Dead-time generator setup" start="0" size="8" />
      <BitField name="DTAE" description="Deadtime Asymmetric Enable" start="16" size="1" />
      <BitField name="DTPE" description="Deadtime Preload Enable" start="17" size="1" />
    </Register>
    <Register name="TISEL" description="TIM timer input selection register" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TI1SEL" description="TI1[0] to TI1[15] input selection" start="0" size="4" />
    </Register>
    <Register name="AF1" description="TIM alternate function option register 1" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKCMP4P" description="BRK COMP4 input polarity" start="13" size="1" />
      <BitField name="BKCMP3P" description="BRK COMP3 input polarity" start="12" size="1" />
      <BitField name="BKCMP2P" description="BRK COMP2 input polarity" start="11" size="1" />
      <BitField name="BKCMP1P" description="BRK COMP1 input polarity" start="10" size="1" />
      <BitField name="BKINP" description="BRK BKIN input polarity" start="9" size="1" />
      <BitField name="BKCMP7E" description="BRK COMP7 enable" start="7" size="1" />
      <BitField name="BKCMP6E" description="BRK COMP6 enable" start="6" size="1" />
      <BitField name="BKCMP5E" description="BRK COMP5 enable" start="5" size="1" />
      <BitField name="BKCMP4E" description="BRK COMP4 enable" start="4" size="1" />
      <BitField name="BKCMP3E" description="BRK COMP3 enable" start="3" size="1" />
      <BitField name="BKCMP2E" description="BRK COMP2 enable" start="2" size="1" />
      <BitField name="BKCMP1E" description="BRK COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="AF2" description="TIM alternate function option register 2" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OCRSEL" description="OCREF_CLR source selection" start="16" size="3" />
    </Register>
    <Register name="OR1" description="TIM option register 1" start="+0x68" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="HSE32EN" description="HSE Divided by 32 enable" start="0" size="1" />
    </Register>
    <Register name="DCR" description="DMA control register" start="+0x3DC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DBL" description="DMA burst length" start="8" size="5" />
      <BitField name="DBA" description="DMA base address" start="0" size="5" />
    </Register>
    <Register name="DMAR" description="DMA address for full transfer" start="+0x3E0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAB" description="DMA register for burst accesses" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM17" description="General purpose timers" start="0x40014800">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CEN" description="Counter enable" start="0" size="1" />
      <BitField name="UDIS" description="Update disable" start="1" size="1" />
      <BitField name="URS" description="Update request source" start="2" size="1" />
      <BitField name="OPM" description="One-pulse mode" start="3" size="1" />
      <BitField name="ARPE" description="Auto-reload preload enable" start="7" size="1" />
      <BitField name="CKD" description="Clock division" start="8" size="2" />
      <BitField name="UIFREMAP" description="UIF status bit remapping" start="11" size="1" />
      <BitField name="DITHEN" description="Dithering Enable" start="12" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OIS1N" description="Output Idle state 1" start="9" size="1" />
      <BitField name="OIS1" description="Output Idle state 1" start="8" size="1" />
      <BitField name="CCDS" description="Capture/compare DMA selection" start="3" size="1" />
      <BitField name="CCUS" description="Capture/compare control update selection" start="2" size="1" />
      <BitField name="CCPC" description="Capture/compare preloaded control" start="0" size="1" />
    </Register>
    <Register name="DIER" description="DMA/Interrupt enable register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="COMDE" description="COM DMA request enable" start="13" size="1" />
      <BitField name="CC1DE" description="Capture/Compare 1 DMA request enable" start="9" size="1" />
      <BitField name="UDE" description="Update DMA request enable" start="8" size="1" />
      <BitField name="BIE" description="Break interrupt enable" start="7" size="1" />
      <BitField name="COMIE" description="COM interrupt enable" start="5" size="1" />
      <BitField name="CC1IE" description="Capture/Compare 1 interrupt enable" start="1" size="1" />
      <BitField name="UIE" description="Update interrupt enable" start="0" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CC1OF" description="Capture/Compare 1 overcapture flag" start="9" size="1" />
      <BitField name="BIF" description="Break interrupt flag" start="7" size="1" />
      <BitField name="COMIF" description="COM interrupt flag" start="5" size="1" />
      <BitField name="CC1IF" description="Capture/compare 1 interrupt flag" start="1" size="1" />
      <BitField name="UIF" description="Update interrupt flag" start="0" size="1" />
    </Register>
    <Register name="EGR" description="event generation register" start="+0x14" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BG" description="Break generation" start="7" size="1" />
      <BitField name="COMG" description="Capture/Compare control update generation" start="5" size="1" />
      <BitField name="CC1G" description="Capture/compare 1 generation" start="1" size="1" />
      <BitField name="UG" description="Update generation" start="0" size="1" />
    </Register>
    <Register name="CCMR1_Output" description="capture/compare mode register (output mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC1M_3" description="Output Compare 1 mode" start="16" size="1" />
      <BitField name="OC1M" description="Output Compare 1 mode" start="4" size="3" />
      <BitField name="OC1PE" description="Output Compare 1 preload enable" start="3" size="1" />
      <BitField name="OC1FE" description="Output Compare 1 fast enable" start="2" size="1" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR1_Input" description="capture/compare mode register 1 (input mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC1F" description="Input capture 1 filter" start="4" size="4" />
      <BitField name="IC1PSC" description="Input capture 1 prescaler" start="2" size="2" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCER" description="capture/compare enable register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CC1NP" description="Capture/Compare 1 output Polarity" start="3" size="1" />
      <BitField name="CC1NE" description="Capture/Compare 1 complementary output enable" start="2" size="1" />
      <BitField name="CC1P" description="Capture/Compare 1 output Polarity" start="1" size="1" />
      <BitField name="CC1E" description="Capture/Compare 1 output enable" start="0" size="1" />
    </Register>
    <Register name="CNT" description="counter" start="+0x24" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CNT" description="counter value" start="0" size="16" access="Read/Write" />
      <BitField name="UIFCPY" description="UIF Copy" start="31" size="1" access="ReadOnly" />
    </Register>
    <Register name="PSC" description="prescaler" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PSC" description="Prescaler value" start="0" size="16" />
    </Register>
    <Register name="ARR" description="auto-reload register" start="+0x2C" size="4" access="Read/Write" reset_value="0x0000FFFF" reset_mask="0xFFFFFFFF">
      <BitField name="ARR" description="Auto-reload value" start="0" size="16" />
    </Register>
    <Register name="RCR" description="repetition counter register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="REP" description="Repetition counter value" start="0" size="8" />
    </Register>
    <Register name="CCR1" description="capture/compare register 1" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR1" description="Capture/Compare 1 value" start="0" size="16" />
    </Register>
    <Register name="BDTR" description="break and dead-time register" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DTG" description="Dead-time generator setup" start="0" size="8" />
      <BitField name="LOCK" description="Lock configuration" start="8" size="2" />
      <BitField name="OSSI" description="Off-state selection for Idle mode" start="10" size="1" />
      <BitField name="OSSR" description="Off-state selection for Run mode" start="11" size="1" />
      <BitField name="BKE" description="Break enable" start="12" size="1" />
      <BitField name="BKP" description="Break polarity" start="13" size="1" />
      <BitField name="AOE" description="Automatic output enable" start="14" size="1" />
      <BitField name="MOE" description="Main output enable" start="15" size="1" />
      <BitField name="BKF" description="Break filter" start="16" size="4" />
      <BitField name="BKDSRM" description="BKDSRM" start="26" size="1" />
      <BitField name="BKBID" description="BKBID" start="28" size="1" />
    </Register>
    <Register name="DTR2" description="timer Deadtime Register 2" start="+0x54" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DTGF" description="Dead-time generator setup" start="0" size="8" />
      <BitField name="DTAE" description="Deadtime Asymmetric Enable" start="16" size="1" />
      <BitField name="DTPE" description="Deadtime Preload Enable" start="17" size="1" />
    </Register>
    <Register name="TISEL" description="TIM timer input selection register" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TI1SEL" description="TI1[0] to TI1[15] input selection" start="0" size="4" />
    </Register>
    <Register name="AF1" description="TIM alternate function option register 1" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKCMP4P" description="BRK COMP4 input polarity" start="13" size="1" />
      <BitField name="BKCMP3P" description="BRK COMP3 input polarity" start="12" size="1" />
      <BitField name="BKCMP2P" description="BRK COMP2 input polarity" start="11" size="1" />
      <BitField name="BKCMP1P" description="BRK COMP1 input polarity" start="10" size="1" />
      <BitField name="BKINP" description="BRK BKIN input polarity" start="9" size="1" />
      <BitField name="BKCMP7E" description="BRK COMP7 enable" start="7" size="1" />
      <BitField name="BKCMP6E" description="BRK COMP6 enable" start="6" size="1" />
      <BitField name="BKCMP5E" description="BRK COMP5 enable" start="5" size="1" />
      <BitField name="BKCMP4E" description="BRK COMP4 enable" start="4" size="1" />
      <BitField name="BKCMP3E" description="BRK COMP3 enable" start="3" size="1" />
      <BitField name="BKCMP2E" description="BRK COMP2 enable" start="2" size="1" />
      <BitField name="BKCMP1E" description="BRK COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="AF2" description="TIM alternate function option register 2" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OCRSEL" description="OCREF_CLR source selection" start="16" size="3" />
    </Register>
    <Register name="OR1" description="TIM option register 1" start="+0x68" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="HSE32EN" description="HSE Divided by 32 enable" start="0" size="1" />
    </Register>
    <Register name="DCR" description="DMA control register" start="+0x3DC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DBL" description="DMA burst length" start="8" size="5" />
      <BitField name="DBA" description="DMA base address" start="0" size="5" />
    </Register>
    <Register name="DMAR" description="DMA address for full transfer" start="+0x3E0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAB" description="DMA register for burst accesses" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM1" description="Advanced-timers" start="0x40012C00">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DITHEN" description="Dithering Enable" start="12" size="1" />
      <BitField name="UIFREMAP" description="UIF status bit remapping" start="11" size="1" />
      <BitField name="CKD" description="Clock division" start="8" size="2" />
      <BitField name="ARPE" description="Auto-reload preload enable" start="7" size="1" />
      <BitField name="CMS" description="Center-aligned mode selection" start="5" size="2" />
      <BitField name="DIR" description="Direction" start="4" size="1" />
      <BitField name="OPM" description="One-pulse mode" start="3" size="1" />
      <BitField name="URS" description="Update request source" start="2" size="1" />
      <BitField name="UDIS" description="Update disable" start="1" size="1" />
      <BitField name="CEN" description="Counter enable" start="0" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MMS_3" description="Master mode selection - bit 3" start="25" size="1" />
      <BitField name="MMS2" description="Master mode selection 2" start="20" size="4" />
      <BitField name="OIS6" description="Output Idle state 6 (OC6 output)" start="18" size="1" />
      <BitField name="OIS5" description="Output Idle state 5 (OC5 output)" start="16" size="1" />
      <BitField name="OIS4N" description="Output Idle state 4 (OC4N output)" start="15" size="1" />
      <BitField name="OIS4" description="Output Idle state 4" start="14" size="1" />
      <BitField name="OIS3N" description="Output Idle state 3" start="13" size="1" />
      <BitField name="OIS3" description="Output Idle state 3" start="12" size="1" />
      <BitField name="OIS2N" description="Output Idle state 2" start="11" size="1" />
      <BitField name="OIS2" description="Output Idle state 2" start="10" size="1" />
      <BitField name="OIS1N" description="Output Idle state 1" start="9" size="1" />
      <BitField name="OIS1" description="Output Idle state 1" start="8" size="1" />
      <BitField name="TI1S" description="TI1 selection" start="7" size="1" />
      <BitField name="MMS" description="Master mode selection" start="4" size="3" />
      <BitField name="CCDS" description="Capture/compare DMA selection" start="3" size="1" />
      <BitField name="CCUS" description="Capture/compare control update selection" start="2" size="1" />
      <BitField name="CCPC" description="Capture/compare preloaded control" start="0" size="1" />
    </Register>
    <Register name="SMCR" description="slave mode control register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMSPS" description="SMS Preload Source" start="25" size="1" />
      <BitField name="SMSPE" description="SMS Preload Enable" start="24" size="1" />
      <BitField name="TS_4_3" description="Trigger selection - bit 4:3" start="20" size="2" />
      <BitField name="SMS_3" description="Slave mode selection - bit 3" start="16" size="1" />
      <BitField name="ETP" description="External trigger polarity" start="15" size="1" />
      <BitField name="ECE" description="External clock enable" start="14" size="1" />
      <BitField name="ETPS" description="External trigger prescaler" start="12" size="2" />
      <BitField name="ETF" description="External trigger filter" start="8" size="4" />
      <BitField name="MSM" description="Master/Slave mode" start="7" size="1" />
      <BitField name="TS" description="Trigger selection" start="4" size="3" />
      <BitField name="OCCS" description="OCREF clear selection" start="3" size="1" />
      <BitField name="SMS" description="Slave mode selection" start="0" size="3" />
    </Register>
    <Register name="DIER" description="DMA/Interrupt enable register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TERRIE" description="Transition Error interrupt enable" start="23" size="1" />
      <BitField name="IERRIE" description="Index Error interrupt enable" start="22" size="1" />
      <BitField name="DIRIE" description="Direction Change interrupt enable" start="21" size="1" />
      <BitField name="IDXIE" description="Index interrupt enable" start="20" size="1" />
      <BitField name="TDE" description="Trigger DMA request enable" start="14" size="1" />
      <BitField name="COMDE" description="COM DMA request enable" start="13" size="1" />
      <BitField name="CC4DE" description="Capture/Compare 4 DMA request enable" start="12" size="1" />
      <BitField name="CC3DE" description="Capture/Compare 3 DMA request enable" start="11" size="1" />
      <BitField name="CC2DE" description="Capture/Compare 2 DMA request enable" start="10" size="1" />
      <BitField name="CC1DE" description="Capture/Compare 1 DMA request enable" start="9" size="1" />
      <BitField name="UDE" description="Update DMA request enable" start="8" size="1" />
      <BitField name="TIE" description="Trigger interrupt enable" start="6" size="1" />
      <BitField name="CC4IE" description="Capture/Compare 4 interrupt enable" start="4" size="1" />
      <BitField name="CC3IE" description="Capture/Compare 3 interrupt enable" start="3" size="1" />
      <BitField name="CC2IE" description="Capture/Compare 2 interrupt enable" start="2" size="1" />
      <BitField name="CC1IE" description="Capture/Compare 1 interrupt enable" start="1" size="1" />
      <BitField name="UIE" description="Update interrupt enable" start="0" size="1" />
      <BitField name="BIE" description="Break interrupt enable" start="7" size="1" />
      <BitField name="COMIE" description="COM interrupt enable" start="5" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TERRF" description="Transition Error interrupt flag" start="23" size="1" />
      <BitField name="IERRF" description="Index Error interrupt flag" start="22" size="1" />
      <BitField name="DIRF" description="Direction Change interrupt flag" start="21" size="1" />
      <BitField name="IDXF" description="Index interrupt flag" start="20" size="1" />
      <BitField name="CC6IF" description="Compare 6 interrupt flag" start="17" size="1" />
      <BitField name="CC5IF" description="Compare 5 interrupt flag" start="16" size="1" />
      <BitField name="SBIF" description="System Break interrupt flag" start="13" size="1" />
      <BitField name="CC4OF" description="Capture/Compare 4 overcapture flag" start="12" size="1" />
      <BitField name="CC3OF" description="Capture/Compare 3 overcapture flag" start="11" size="1" />
      <BitField name="CC2OF" description="Capture/compare 2 overcapture flag" start="10" size="1" />
      <BitField name="CC1OF" description="Capture/Compare 1 overcapture flag" start="9" size="1" />
      <BitField name="B2IF" description="Break 2 interrupt flag" start="8" size="1" />
      <BitField name="BIF" description="Break interrupt flag" start="7" size="1" />
      <BitField name="TIF" description="Trigger interrupt flag" start="6" size="1" />
      <BitField name="COMIF" description="COM interrupt flag" start="5" size="1" />
      <BitField name="CC4IF" description="Capture/Compare 4 interrupt flag" start="4" size="1" />
      <BitField name="CC3IF" description="Capture/Compare 3 interrupt flag" start="3" size="1" />
      <BitField name="CC2IF" description="Capture/Compare 2 interrupt flag" start="2" size="1" />
      <BitField name="CC1IF" description="Capture/compare 1 interrupt flag" start="1" size="1" />
      <BitField name="UIF" description="Update interrupt flag" start="0" size="1" />
    </Register>
    <Register name="EGR" description="event generation register" start="+0x14" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="B2G" description="Break 2 generation" start="8" size="1" />
      <BitField name="BG" description="Break generation" start="7" size="1" />
      <BitField name="TG" description="Trigger generation" start="6" size="1" />
      <BitField name="COMG" description="Capture/Compare control update generation" start="5" size="1" />
      <BitField name="CC4G" description="Capture/compare 4 generation" start="4" size="1" />
      <BitField name="CC3G" description="Capture/compare 3 generation" start="3" size="1" />
      <BitField name="CC2G" description="Capture/compare 2 generation" start="2" size="1" />
      <BitField name="CC1G" description="Capture/compare 1 generation" start="1" size="1" />
      <BitField name="UG" description="Update generation" start="0" size="1" />
    </Register>
    <Register name="CCMR1_Output" description="capture/compare mode register 1 (output mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC2M_3" description="Output Compare 2 mode - bit 3" start="24" size="1" />
      <BitField name="OC1M_3" description="Output Compare 1 mode - bit 3" start="16" size="1" />
      <BitField name="OC2CE" description="Output Compare 2 clear enable" start="15" size="1" />
      <BitField name="OC2M" description="Output Compare 2 mode" start="12" size="3" />
      <BitField name="OC2PE" description="Output Compare 2 preload enable" start="11" size="1" />
      <BitField name="OC2FE" description="Output Compare 2 fast enable" start="10" size="1" />
      <BitField name="CC2S" description="Capture/Compare 2 selection" start="8" size="2" />
      <BitField name="OC1CE" description="Output Compare 1 clear enable" start="7" size="1" />
      <BitField name="OC1M" description="Output Compare 1 mode" start="4" size="3" />
      <BitField name="OC1PE" description="Output Compare 1 preload enable" start="3" size="1" />
      <BitField name="OC1FE" description="Output Compare 1 fast enable" start="2" size="1" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR1_Input" description="capture/compare mode register 1 (input mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC2F" description="Input capture 2 filter" start="12" size="4" />
      <BitField name="IC2PSC" description="Input capture 2 prescaler" start="10" size="2" />
      <BitField name="CC2S" description="Capture/Compare 2 selection" start="8" size="2" />
      <BitField name="IC1F" description="Input capture 1 filter" start="4" size="4" />
      <BitField name="ICPCS" description="Input capture 1 prescaler" start="2" size="2" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR2_Output" description="capture/compare mode register 2 (output mode)" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC4M_3" description="Output Compare 4 mode - bit 3" start="24" size="1" />
      <BitField name="OC3M_3" description="Output Compare 3 mode - bit 3" start="16" size="1" />
      <BitField name="OC4CE" description="Output compare 4 clear enable" start="15" size="1" />
      <BitField name="OC4M" description="Output compare 4 mode" start="12" size="3" />
      <BitField name="OC4PE" description="Output compare 4 preload enable" start="11" size="1" />
      <BitField name="OC4FE" description="Output compare 4 fast enable" start="10" size="1" />
      <BitField name="CC4S" description="Capture/Compare 4 selection" start="8" size="2" />
      <BitField name="OC3CE" description="Output compare 3 clear enable" start="7" size="1" />
      <BitField name="OC3M" description="Output compare 3 mode" start="4" size="3" />
      <BitField name="OC3PE" description="Output compare 3 preload enable" start="3" size="1" />
      <BitField name="OC3FE" description="Output compare 3 fast enable" start="2" size="1" />
      <BitField name="CC3S" description="Capture/Compare 3 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR2_Input" description="capture/compare mode register 2 (input mode)" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC4F" description="Input capture 4 filter" start="12" size="4" />
      <BitField name="IC4PSC" description="Input capture 4 prescaler" start="10" size="2" />
      <BitField name="CC4S" description="Capture/Compare 4 selection" start="8" size="2" />
      <BitField name="IC3F" description="Input capture 3 filter" start="4" size="4" />
      <BitField name="IC3PSC" description="Input capture 3 prescaler" start="2" size="2" />
      <BitField name="CC3S" description="Capture/compare 3 selection" start="0" size="2" />
    </Register>
    <Register name="CCER" description="capture/compare enable register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CC6P" description="Capture/Compare 6 output polarity" start="21" size="1" />
      <BitField name="CC6E" description="Capture/Compare 6 output enable" start="20" size="1" />
      <BitField name="CC5P" description="Capture/Compare 5 output polarity" start="17" size="1" />
      <BitField name="CC5E" description="Capture/Compare 5 output enable" start="16" size="1" />
      <BitField name="CC4NP" description="Capture/Compare 4 complementary output polarity" start="15" size="1" />
      <BitField name="CC4NE" description="Capture/Compare 4 complementary output enable" start="14" size="1" />
      <BitField name="CC4P" description="Capture/Compare 3 output Polarity" start="13" size="1" />
      <BitField name="CC4E" description="Capture/Compare 4 output enable" start="12" size="1" />
      <BitField name="CC3NP" description="Capture/Compare 3 output Polarity" start="11" size="1" />
      <BitField name="CC3NE" description="Capture/Compare 3 complementary output enable" start="10" size="1" />
      <BitField name="CC3P" description="Capture/Compare 3 output Polarity" start="9" size="1" />
      <BitField name="CC3E" description="Capture/Compare 3 output enable" start="8" size="1" />
      <BitField name="CC2NP" description="Capture/Compare 2 output Polarity" start="7" size="1" />
      <BitField name="CC2NE" description="Capture/Compare 2 complementary output enable" start="6" size="1" />
      <BitField name="CC2P" description="Capture/Compare 2 output Polarity" start="5" size="1" />
      <BitField name="CC2E" description="Capture/Compare 2 output enable" start="4" size="1" />
      <BitField name="CC1NP" description="Capture/Compare 1 output Polarity" start="3" size="1" />
      <BitField name="CC1NE" description="Capture/Compare 1 complementary output enable" start="2" size="1" />
      <BitField name="CC1P" description="Capture/Compare 1 output Polarity" start="1" size="1" />
      <BitField name="CC1E" description="Capture/Compare 1 output enable" start="0" size="1" />
    </Register>
    <Register name="CNT" description="counter" start="+0x24" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="UIFCPY" description="UIFCPY" start="31" size="1" access="ReadOnly" />
      <BitField name="CNT" description="counter value" start="0" size="16" access="Read/Write" />
    </Register>
    <Register name="PSC" description="prescaler" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PSC" description="Prescaler value" start="0" size="16" />
    </Register>
    <Register name="ARR" description="auto-reload register" start="+0x2C" size="4" access="Read/Write" reset_value="0x0000FFFF" reset_mask="0xFFFFFFFF">
      <BitField name="ARR" description="Auto-reload value" start="0" size="16" />
    </Register>
    <Register name="RCR" description="repetition counter register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="REP" description="Repetition counter value" start="0" size="16" />
    </Register>
    <Register name="CCR1" description="capture/compare register 1" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR1" description="Capture/Compare 1 value" start="0" size="16" />
    </Register>
    <Register name="CCR2" description="capture/compare register 2" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR2" description="Capture/Compare 2 value" start="0" size="16" />
    </Register>
    <Register name="CCR3" description="capture/compare register 3" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR3" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="CCR4" description="capture/compare register 4" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR4" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="BDTR" description="break and dead-time register" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BK2ID" description="BK2ID" start="29" size="1" />
      <BitField name="BKBID" description="BKBID" start="28" size="1" />
      <BitField name="BK2DSRM" description="BK2DSRM" start="27" size="1" />
      <BitField name="BKDSRM" description="BKDSRM" start="26" size="1" />
      <BitField name="BK2P" description="Break 2 polarity" start="25" size="1" />
      <BitField name="BK2E" description="Break 2 Enable" start="24" size="1" />
      <BitField name="BK2F" description="Break 2 filter" start="20" size="4" />
      <BitField name="BKF" description="Break filter" start="16" size="4" />
      <BitField name="MOE" description="Main output enable" start="15" size="1" />
      <BitField name="AOE" description="Automatic output enable" start="14" size="1" />
      <BitField name="BKP" description="Break polarity" start="13" size="1" />
      <BitField name="BKE" description="Break enable" start="12" size="1" />
      <BitField name="OSSR" description="Off-state selection for Run mode" start="11" size="1" />
      <BitField name="OSSI" description="Off-state selection for Idle mode" start="10" size="1" />
      <BitField name="LOCK" description="Lock configuration" start="8" size="2" />
      <BitField name="DTG" description="Dead-time generator setup" start="0" size="8" />
    </Register>
    <Register name="CCR5" description="capture/compare register 4" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR5" description="Capture/Compare value" start="0" size="16" />
      <BitField name="GC5C1" description="Group Channel 5 and Channel 1" start="29" size="1" />
      <BitField name="GC5C2" description="Group Channel 5 and Channel 2" start="30" size="1" />
      <BitField name="GC5C3" description="Group Channel 5 and Channel 3" start="31" size="1" />
    </Register>
    <Register name="CCR6" description="capture/compare register 4" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR6" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="CCMR3_Output" description="capture/compare mode register 2 (output mode)" start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC6M_bit3" description="Output Compare 6 mode bit 3" start="24" size="1" />
      <BitField name="OC5M_bit3" description="Output Compare 5 mode bit 3" start="16" size="3" />
      <BitField name="OC6CE" description="Output compare 6 clear enable" start="15" size="1" />
      <BitField name="OC6M" description="Output compare 6 mode" start="12" size="3" />
      <BitField name="OC6PE" description="Output compare 6 preload enable" start="11" size="1" />
      <BitField name="OC6FE" description="Output compare 6 fast enable" start="10" size="1" />
      <BitField name="OC5CE" description="Output compare 5 clear enable" start="7" size="1" />
      <BitField name="OC5M" description="Output compare 5 mode" start="4" size="3" />
      <BitField name="OC5PE" description="Output compare 5 preload enable" start="3" size="1" />
      <BitField name="OC5FE" description="Output compare 5 fast enable" start="2" size="1" />
    </Register>
    <Register name="DTR2" description="timer Deadtime Register 2" start="+0x54" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DTPE" description="Deadtime Preload Enable" start="17" size="1" />
      <BitField name="DTAE" description="Deadtime Asymmetric Enable" start="16" size="1" />
      <BitField name="DTGF" description="Dead-time falling edge generator setup" start="0" size="8" />
    </Register>
    <Register name="ECR" description="DMA control register" start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IE" description="Index Enable" start="0" size="1" />
      <BitField name="IDIR" description="Index Direction" start="1" size="2" />
      <BitField name="IBLK" description="Index Blanking" start="3" size="2" />
      <BitField name="FIDX" description="First Index" start="5" size="1" />
      <BitField name="IPOS" description="Index Positioning" start="6" size="2" />
      <BitField name="PW" description="Pulse width" start="16" size="8" />
      <BitField name="PWPRSC" description="Pulse Width prescaler" start="24" size="3" />
    </Register>
    <Register name="TISEL" description="TIM timer input selection register" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TI1SEL" description="TI1[0] to TI1[15] input selection" start="0" size="4" />
      <BitField name="TI2SEL" description="TI2[0] to TI2[15] input selection" start="8" size="4" />
      <BitField name="TI3SEL" description="TI3[0] to TI3[15] input selection" start="16" size="4" />
      <BitField name="TI4SEL" description="TI4[0] to TI4[15] input selection" start="24" size="4" />
    </Register>
    <Register name="AF1" description="TIM alternate function option register 1" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ETRSEL" description="ETR source selection" start="14" size="4" />
      <BitField name="BKCMP4P" description="BRK COMP4 input polarity" start="13" size="1" />
      <BitField name="BKCMP3P" description="BRK COMP3 input polarity" start="12" size="1" />
      <BitField name="BKCMP2P" description="BRK COMP2 input polarity" start="11" size="1" />
      <BitField name="BKCMP1P" description="BRK COMP1 input polarity" start="10" size="1" />
      <BitField name="BKINP" description="BRK BKIN input polarity" start="9" size="1" />
      <BitField name="BKCMP7E" description="BRK COMP7 enable" start="7" size="1" />
      <BitField name="BKCMP6E" description="BRK COMP6 enable" start="6" size="1" />
      <BitField name="BKCMP5E" description="BRK COMP5 enable" start="5" size="1" />
      <BitField name="BKCMP4E" description="BRK COMP4 enable" start="4" size="1" />
      <BitField name="BKCMP3E" description="BRK COMP3 enable" start="3" size="1" />
      <BitField name="BKCMP2E" description="BRK COMP2 enable" start="2" size="1" />
      <BitField name="BKCMP1E" description="BRK COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="AF2" description="TIM alternate function option register 2" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OCRSEL" description="OCREF_CLR source selection" start="16" size="3" />
      <BitField name="BK2CMP4P" description="BRK2 COMP4 input polarity" start="13" size="1" />
      <BitField name="BK2CMP3P" description="BRK2 COMP3 input polarity" start="12" size="1" />
      <BitField name="BK2CMP2P" description="BRK2 COMP2 input polarity" start="11" size="1" />
      <BitField name="BK2CMP1P" description="BRK2 COMP1 input polarity" start="10" size="1" />
      <BitField name="BK2INP" description="BRK2 BKIN input polarity" start="9" size="1" />
      <BitField name="BK2CMP7E" description="BRK2 COMP7 enable" start="7" size="1" />
      <BitField name="BK2CMP6E" description="BRK2 COMP6 enable" start="6" size="1" />
      <BitField name="BK2CMP5E" description="BRK2 COMP5 enable" start="5" size="1" />
      <BitField name="BK2CMP4E" description="BRK2 COMP4 enable" start="4" size="1" />
      <BitField name="BK2CMP3E" description="BRK2 COMP3 enable" start="3" size="1" />
      <BitField name="BK2CMP2E" description="BRK2 COMP2 enable" start="2" size="1" />
      <BitField name="BK2CMP1E" description="BRK2 COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="DCR" description="control register" start="+0x3DC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DBL" description="DMA burst length" start="8" size="5" />
      <BitField name="DBA" description="DMA base address" start="0" size="5" />
    </Register>
    <Register name="DMAR" description="DMA address for full transfer" start="+0x3E0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAB" description="DMA register for burst accesses" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM20" description="Advanced-timers" start="0x40015000">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DITHEN" description="Dithering Enable" start="12" size="1" />
      <BitField name="UIFREMAP" description="UIF status bit remapping" start="11" size="1" />
      <BitField name="CKD" description="Clock division" start="8" size="2" />
      <BitField name="ARPE" description="Auto-reload preload enable" start="7" size="1" />
      <BitField name="CMS" description="Center-aligned mode selection" start="5" size="2" />
      <BitField name="DIR" description="Direction" start="4" size="1" />
      <BitField name="OPM" description="One-pulse mode" start="3" size="1" />
      <BitField name="URS" description="Update request source" start="2" size="1" />
      <BitField name="UDIS" description="Update disable" start="1" size="1" />
      <BitField name="CEN" description="Counter enable" start="0" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MMS_3" description="Master mode selection - bit 3" start="25" size="1" />
      <BitField name="MMS2" description="Master mode selection 2" start="20" size="4" />
      <BitField name="OIS6" description="Output Idle state 6 (OC6 output)" start="18" size="1" />
      <BitField name="OIS5" description="Output Idle state 5 (OC5 output)" start="16" size="1" />
      <BitField name="OIS4N" description="Output Idle state 4 (OC4N output)" start="15" size="1" />
      <BitField name="OIS4" description="Output Idle state 4" start="14" size="1" />
      <BitField name="OIS3N" description="Output Idle state 3" start="13" size="1" />
      <BitField name="OIS3" description="Output Idle state 3" start="12" size="1" />
      <BitField name="OIS2N" description="Output Idle state 2" start="11" size="1" />
      <BitField name="OIS2" description="Output Idle state 2" start="10" size="1" />
      <BitField name="OIS1N" description="Output Idle state 1" start="9" size="1" />
      <BitField name="OIS1" description="Output Idle state 1" start="8" size="1" />
      <BitField name="TI1S" description="TI1 selection" start="7" size="1" />
      <BitField name="MMS" description="Master mode selection" start="4" size="3" />
      <BitField name="CCDS" description="Capture/compare DMA selection" start="3" size="1" />
      <BitField name="CCUS" description="Capture/compare control update selection" start="2" size="1" />
      <BitField name="CCPC" description="Capture/compare preloaded control" start="0" size="1" />
    </Register>
    <Register name="SMCR" description="slave mode control register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMSPS" description="SMS Preload Source" start="25" size="1" />
      <BitField name="SMSPE" description="SMS Preload Enable" start="24" size="1" />
      <BitField name="TS_4_3" description="Trigger selection - bit 4:3" start="20" size="2" />
      <BitField name="SMS_3" description="Slave mode selection - bit 3" start="16" size="1" />
      <BitField name="ETP" description="External trigger polarity" start="15" size="1" />
      <BitField name="ECE" description="External clock enable" start="14" size="1" />
      <BitField name="ETPS" description="External trigger prescaler" start="12" size="2" />
      <BitField name="ETF" description="External trigger filter" start="8" size="4" />
      <BitField name="MSM" description="Master/Slave mode" start="7" size="1" />
      <BitField name="TS" description="Trigger selection" start="4" size="3" />
      <BitField name="OCCS" description="OCREF clear selection" start="3" size="1" />
      <BitField name="SMS" description="Slave mode selection" start="0" size="3" />
    </Register>
    <Register name="DIER" description="DMA/Interrupt enable register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TERRIE" description="Transition Error interrupt enable" start="23" size="1" />
      <BitField name="IERRIE" description="Index Error interrupt enable" start="22" size="1" />
      <BitField name="DIRIE" description="Direction Change interrupt enable" start="21" size="1" />
      <BitField name="IDXIE" description="Index interrupt enable" start="20" size="1" />
      <BitField name="TDE" description="Trigger DMA request enable" start="14" size="1" />
      <BitField name="COMDE" description="COM DMA request enable" start="13" size="1" />
      <BitField name="CC4DE" description="Capture/Compare 4 DMA request enable" start="12" size="1" />
      <BitField name="CC3DE" description="Capture/Compare 3 DMA request enable" start="11" size="1" />
      <BitField name="CC2DE" description="Capture/Compare 2 DMA request enable" start="10" size="1" />
      <BitField name="CC1DE" description="Capture/Compare 1 DMA request enable" start="9" size="1" />
      <BitField name="UDE" description="Update DMA request enable" start="8" size="1" />
      <BitField name="TIE" description="Trigger interrupt enable" start="6" size="1" />
      <BitField name="CC4IE" description="Capture/Compare 4 interrupt enable" start="4" size="1" />
      <BitField name="CC3IE" description="Capture/Compare 3 interrupt enable" start="3" size="1" />
      <BitField name="CC2IE" description="Capture/Compare 2 interrupt enable" start="2" size="1" />
      <BitField name="CC1IE" description="Capture/Compare 1 interrupt enable" start="1" size="1" />
      <BitField name="UIE" description="Update interrupt enable" start="0" size="1" />
      <BitField name="BIE" description="Break interrupt enable" start="7" size="1" />
      <BitField name="COMIE" description="COM interrupt enable" start="5" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TERRF" description="Transition Error interrupt flag" start="23" size="1" />
      <BitField name="IERRF" description="Index Error interrupt flag" start="22" size="1" />
      <BitField name="DIRF" description="Direction Change interrupt flag" start="21" size="1" />
      <BitField name="IDXF" description="Index interrupt flag" start="20" size="1" />
      <BitField name="CC6IF" description="Compare 6 interrupt flag" start="17" size="1" />
      <BitField name="CC5IF" description="Compare 5 interrupt flag" start="16" size="1" />
      <BitField name="SBIF" description="System Break interrupt flag" start="13" size="1" />
      <BitField name="CC4OF" description="Capture/Compare 4 overcapture flag" start="12" size="1" />
      <BitField name="CC3OF" description="Capture/Compare 3 overcapture flag" start="11" size="1" />
      <BitField name="CC2OF" description="Capture/compare 2 overcapture flag" start="10" size="1" />
      <BitField name="CC1OF" description="Capture/Compare 1 overcapture flag" start="9" size="1" />
      <BitField name="B2IF" description="Break 2 interrupt flag" start="8" size="1" />
      <BitField name="BIF" description="Break interrupt flag" start="7" size="1" />
      <BitField name="TIF" description="Trigger interrupt flag" start="6" size="1" />
      <BitField name="COMIF" description="COM interrupt flag" start="5" size="1" />
      <BitField name="CC4IF" description="Capture/Compare 4 interrupt flag" start="4" size="1" />
      <BitField name="CC3IF" description="Capture/Compare 3 interrupt flag" start="3" size="1" />
      <BitField name="CC2IF" description="Capture/Compare 2 interrupt flag" start="2" size="1" />
      <BitField name="CC1IF" description="Capture/compare 1 interrupt flag" start="1" size="1" />
      <BitField name="UIF" description="Update interrupt flag" start="0" size="1" />
    </Register>
    <Register name="EGR" description="event generation register" start="+0x14" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="B2G" description="Break 2 generation" start="8" size="1" />
      <BitField name="BG" description="Break generation" start="7" size="1" />
      <BitField name="TG" description="Trigger generation" start="6" size="1" />
      <BitField name="COMG" description="Capture/Compare control update generation" start="5" size="1" />
      <BitField name="CC4G" description="Capture/compare 4 generation" start="4" size="1" />
      <BitField name="CC3G" description="Capture/compare 3 generation" start="3" size="1" />
      <BitField name="CC2G" description="Capture/compare 2 generation" start="2" size="1" />
      <BitField name="CC1G" description="Capture/compare 1 generation" start="1" size="1" />
      <BitField name="UG" description="Update generation" start="0" size="1" />
    </Register>
    <Register name="CCMR1_Output" description="capture/compare mode register 1 (output mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC2M_3" description="Output Compare 2 mode - bit 3" start="24" size="1" />
      <BitField name="OC1M_3" description="Output Compare 1 mode - bit 3" start="16" size="1" />
      <BitField name="OC2CE" description="Output Compare 2 clear enable" start="15" size="1" />
      <BitField name="OC2M" description="Output Compare 2 mode" start="12" size="3" />
      <BitField name="OC2PE" description="Output Compare 2 preload enable" start="11" size="1" />
      <BitField name="OC2FE" description="Output Compare 2 fast enable" start="10" size="1" />
      <BitField name="CC2S" description="Capture/Compare 2 selection" start="8" size="2" />
      <BitField name="OC1CE" description="Output Compare 1 clear enable" start="7" size="1" />
      <BitField name="OC1M" description="Output Compare 1 mode" start="4" size="3" />
      <BitField name="OC1PE" description="Output Compare 1 preload enable" start="3" size="1" />
      <BitField name="OC1FE" description="Output Compare 1 fast enable" start="2" size="1" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR1_Input" description="capture/compare mode register 1 (input mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC2F" description="Input capture 2 filter" start="12" size="4" />
      <BitField name="IC2PSC" description="Input capture 2 prescaler" start="10" size="2" />
      <BitField name="CC2S" description="Capture/Compare 2 selection" start="8" size="2" />
      <BitField name="IC1F" description="Input capture 1 filter" start="4" size="4" />
      <BitField name="ICPCS" description="Input capture 1 prescaler" start="2" size="2" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR2_Output" description="capture/compare mode register 2 (output mode)" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC4M_3" description="Output Compare 4 mode - bit 3" start="24" size="1" />
      <BitField name="OC3M_3" description="Output Compare 3 mode - bit 3" start="16" size="1" />
      <BitField name="OC4CE" description="Output compare 4 clear enable" start="15" size="1" />
      <BitField name="OC4M" description="Output compare 4 mode" start="12" size="3" />
      <BitField name="OC4PE" description="Output compare 4 preload enable" start="11" size="1" />
      <BitField name="OC4FE" description="Output compare 4 fast enable" start="10" size="1" />
      <BitField name="CC4S" description="Capture/Compare 4 selection" start="8" size="2" />
      <BitField name="OC3CE" description="Output compare 3 clear enable" start="7" size="1" />
      <BitField name="OC3M" description="Output compare 3 mode" start="4" size="3" />
      <BitField name="OC3PE" description="Output compare 3 preload enable" start="3" size="1" />
      <BitField name="OC3FE" description="Output compare 3 fast enable" start="2" size="1" />
      <BitField name="CC3S" description="Capture/Compare 3 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR2_Input" description="capture/compare mode register 2 (input mode)" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC4F" description="Input capture 4 filter" start="12" size="4" />
      <BitField name="IC4PSC" description="Input capture 4 prescaler" start="10" size="2" />
      <BitField name="CC4S" description="Capture/Compare 4 selection" start="8" size="2" />
      <BitField name="IC3F" description="Input capture 3 filter" start="4" size="4" />
      <BitField name="IC3PSC" description="Input capture 3 prescaler" start="2" size="2" />
      <BitField name="CC3S" description="Capture/compare 3 selection" start="0" size="2" />
    </Register>
    <Register name="CCER" description="capture/compare enable register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CC6P" description="Capture/Compare 6 output polarity" start="21" size="1" />
      <BitField name="CC6E" description="Capture/Compare 6 output enable" start="20" size="1" />
      <BitField name="CC5P" description="Capture/Compare 5 output polarity" start="17" size="1" />
      <BitField name="CC5E" description="Capture/Compare 5 output enable" start="16" size="1" />
      <BitField name="CC4NP" description="Capture/Compare 4 complementary output polarity" start="15" size="1" />
      <BitField name="CC4NE" description="Capture/Compare 4 complementary output enable" start="14" size="1" />
      <BitField name="CC4P" description="Capture/Compare 3 output Polarity" start="13" size="1" />
      <BitField name="CC4E" description="Capture/Compare 4 output enable" start="12" size="1" />
      <BitField name="CC3NP" description="Capture/Compare 3 output Polarity" start="11" size="1" />
      <BitField name="CC3NE" description="Capture/Compare 3 complementary output enable" start="10" size="1" />
      <BitField name="CC3P" description="Capture/Compare 3 output Polarity" start="9" size="1" />
      <BitField name="CC3E" description="Capture/Compare 3 output enable" start="8" size="1" />
      <BitField name="CC2NP" description="Capture/Compare 2 output Polarity" start="7" size="1" />
      <BitField name="CC2NE" description="Capture/Compare 2 complementary output enable" start="6" size="1" />
      <BitField name="CC2P" description="Capture/Compare 2 output Polarity" start="5" size="1" />
      <BitField name="CC2E" description="Capture/Compare 2 output enable" start="4" size="1" />
      <BitField name="CC1NP" description="Capture/Compare 1 output Polarity" start="3" size="1" />
      <BitField name="CC1NE" description="Capture/Compare 1 complementary output enable" start="2" size="1" />
      <BitField name="CC1P" description="Capture/Compare 1 output Polarity" start="1" size="1" />
      <BitField name="CC1E" description="Capture/Compare 1 output enable" start="0" size="1" />
    </Register>
    <Register name="CNT" description="counter" start="+0x24" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="UIFCPY" description="UIFCPY" start="31" size="1" access="ReadOnly" />
      <BitField name="CNT" description="counter value" start="0" size="16" access="Read/Write" />
    </Register>
    <Register name="PSC" description="prescaler" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PSC" description="Prescaler value" start="0" size="16" />
    </Register>
    <Register name="ARR" description="auto-reload register" start="+0x2C" size="4" access="Read/Write" reset_value="0x0000FFFF" reset_mask="0xFFFFFFFF">
      <BitField name="ARR" description="Auto-reload value" start="0" size="16" />
    </Register>
    <Register name="RCR" description="repetition counter register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="REP" description="Repetition counter value" start="0" size="16" />
    </Register>
    <Register name="CCR1" description="capture/compare register 1" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR1" description="Capture/Compare 1 value" start="0" size="16" />
    </Register>
    <Register name="CCR2" description="capture/compare register 2" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR2" description="Capture/Compare 2 value" start="0" size="16" />
    </Register>
    <Register name="CCR3" description="capture/compare register 3" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR3" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="CCR4" description="capture/compare register 4" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR4" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="BDTR" description="break and dead-time register" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BK2ID" description="BK2ID" start="29" size="1" />
      <BitField name="BKBID" description="BKBID" start="28" size="1" />
      <BitField name="BK2DSRM" description="BK2DSRM" start="27" size="1" />
      <BitField name="BKDSRM" description="BKDSRM" start="26" size="1" />
      <BitField name="BK2P" description="Break 2 polarity" start="25" size="1" />
      <BitField name="BK2E" description="Break 2 Enable" start="24" size="1" />
      <BitField name="BK2F" description="Break 2 filter" start="20" size="4" />
      <BitField name="BKF" description="Break filter" start="16" size="4" />
      <BitField name="MOE" description="Main output enable" start="15" size="1" />
      <BitField name="AOE" description="Automatic output enable" start="14" size="1" />
      <BitField name="BKP" description="Break polarity" start="13" size="1" />
      <BitField name="BKE" description="Break enable" start="12" size="1" />
      <BitField name="OSSR" description="Off-state selection for Run mode" start="11" size="1" />
      <BitField name="OSSI" description="Off-state selection for Idle mode" start="10" size="1" />
      <BitField name="LOCK" description="Lock configuration" start="8" size="2" />
      <BitField name="DTG" description="Dead-time generator setup" start="0" size="8" />
    </Register>
    <Register name="CCR5" description="capture/compare register 4" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR5" description="Capture/Compare value" start="0" size="16" />
      <BitField name="GC5C1" description="Group Channel 5 and Channel 1" start="29" size="1" />
      <BitField name="GC5C2" description="Group Channel 5 and Channel 2" start="30" size="1" />
      <BitField name="GC5C3" description="Group Channel 5 and Channel 3" start="31" size="1" />
    </Register>
    <Register name="CCR6" description="capture/compare register 4" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR6" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="CCMR3_Output" description="capture/compare mode register 2 (output mode)" start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC6M_bit3" description="Output Compare 6 mode bit 3" start="24" size="1" />
      <BitField name="OC5M_bit3" description="Output Compare 5 mode bit 3" start="16" size="3" />
      <BitField name="OC6CE" description="Output compare 6 clear enable" start="15" size="1" />
      <BitField name="OC6M" description="Output compare 6 mode" start="12" size="3" />
      <BitField name="OC6PE" description="Output compare 6 preload enable" start="11" size="1" />
      <BitField name="OC6FE" description="Output compare 6 fast enable" start="10" size="1" />
      <BitField name="OC5CE" description="Output compare 5 clear enable" start="7" size="1" />
      <BitField name="OC5M" description="Output compare 5 mode" start="4" size="3" />
      <BitField name="OC5PE" description="Output compare 5 preload enable" start="3" size="1" />
      <BitField name="OC5FE" description="Output compare 5 fast enable" start="2" size="1" />
    </Register>
    <Register name="DTR2" description="timer Deadtime Register 2" start="+0x54" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DTPE" description="Deadtime Preload Enable" start="17" size="1" />
      <BitField name="DTAE" description="Deadtime Asymmetric Enable" start="16" size="1" />
      <BitField name="DTGF" description="Dead-time falling edge generator setup" start="0" size="8" />
    </Register>
    <Register name="ECR" description="DMA control register" start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IE" description="Index Enable" start="0" size="1" />
      <BitField name="IDIR" description="Index Direction" start="1" size="2" />
      <BitField name="IBLK" description="Index Blanking" start="3" size="2" />
      <BitField name="FIDX" description="First Index" start="5" size="1" />
      <BitField name="IPOS" description="Index Positioning" start="6" size="2" />
      <BitField name="PW" description="Pulse width" start="16" size="8" />
      <BitField name="PWPRSC" description="Pulse Width prescaler" start="24" size="3" />
    </Register>
    <Register name="TISEL" description="TIM timer input selection register" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TI1SEL" description="TI1[0] to TI1[15] input selection" start="0" size="4" />
      <BitField name="TI2SEL" description="TI2[0] to TI2[15] input selection" start="8" size="4" />
      <BitField name="TI3SEL" description="TI3[0] to TI3[15] input selection" start="16" size="4" />
      <BitField name="TI4SEL" description="TI4[0] to TI4[15] input selection" start="24" size="4" />
    </Register>
    <Register name="AF1" description="TIM alternate function option register 1" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ETRSEL" description="ETR source selection" start="14" size="4" />
      <BitField name="BKCMP4P" description="BRK COMP4 input polarity" start="13" size="1" />
      <BitField name="BKCMP3P" description="BRK COMP3 input polarity" start="12" size="1" />
      <BitField name="BKCMP2P" description="BRK COMP2 input polarity" start="11" size="1" />
      <BitField name="BKCMP1P" description="BRK COMP1 input polarity" start="10" size="1" />
      <BitField name="BKINP" description="BRK BKIN input polarity" start="9" size="1" />
      <BitField name="BKCMP7E" description="BRK COMP7 enable" start="7" size="1" />
      <BitField name="BKCMP6E" description="BRK COMP6 enable" start="6" size="1" />
      <BitField name="BKCMP5E" description="BRK COMP5 enable" start="5" size="1" />
      <BitField name="BKCMP4E" description="BRK COMP4 enable" start="4" size="1" />
      <BitField name="BKCMP3E" description="BRK COMP3 enable" start="3" size="1" />
      <BitField name="BKCMP2E" description="BRK COMP2 enable" start="2" size="1" />
      <BitField name="BKCMP1E" description="BRK COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="AF2" description="TIM alternate function option register 2" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OCRSEL" description="OCREF_CLR source selection" start="16" size="3" />
      <BitField name="BK2CMP4P" description="BRK2 COMP4 input polarity" start="13" size="1" />
      <BitField name="BK2CMP3P" description="BRK2 COMP3 input polarity" start="12" size="1" />
      <BitField name="BK2CMP2P" description="BRK2 COMP2 input polarity" start="11" size="1" />
      <BitField name="BK2CMP1P" description="BRK2 COMP1 input polarity" start="10" size="1" />
      <BitField name="BK2INP" description="BRK2 BKIN input polarity" start="9" size="1" />
      <BitField name="BK2CMP7E" description="BRK2 COMP7 enable" start="7" size="1" />
      <BitField name="BK2CMP6E" description="BRK2 COMP6 enable" start="6" size="1" />
      <BitField name="BK2CMP5E" description="BRK2 COMP5 enable" start="5" size="1" />
      <BitField name="BK2CMP4E" description="BRK2 COMP4 enable" start="4" size="1" />
      <BitField name="BK2CMP3E" description="BRK2 COMP3 enable" start="3" size="1" />
      <BitField name="BK2CMP2E" description="BRK2 COMP2 enable" start="2" size="1" />
      <BitField name="BK2CMP1E" description="BRK2 COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="DCR" description="control register" start="+0x3DC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DBL" description="DMA burst length" start="8" size="5" />
      <BitField name="DBA" description="DMA base address" start="0" size="5" />
    </Register>
    <Register name="DMAR" description="DMA address for full transfer" start="+0x3E0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAB" description="DMA register for burst accesses" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM8" description="Advanced-timers" start="0x40013400">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DITHEN" description="Dithering Enable" start="12" size="1" />
      <BitField name="UIFREMAP" description="UIF status bit remapping" start="11" size="1" />
      <BitField name="CKD" description="Clock division" start="8" size="2" />
      <BitField name="ARPE" description="Auto-reload preload enable" start="7" size="1" />
      <BitField name="CMS" description="Center-aligned mode selection" start="5" size="2" />
      <BitField name="DIR" description="Direction" start="4" size="1" />
      <BitField name="OPM" description="One-pulse mode" start="3" size="1" />
      <BitField name="URS" description="Update request source" start="2" size="1" />
      <BitField name="UDIS" description="Update disable" start="1" size="1" />
      <BitField name="CEN" description="Counter enable" start="0" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MMS_3" description="Master mode selection - bit 3" start="25" size="1" />
      <BitField name="MMS2" description="Master mode selection 2" start="20" size="4" />
      <BitField name="OIS6" description="Output Idle state 6 (OC6 output)" start="18" size="1" />
      <BitField name="OIS5" description="Output Idle state 5 (OC5 output)" start="16" size="1" />
      <BitField name="OIS4N" description="Output Idle state 4 (OC4N output)" start="15" size="1" />
      <BitField name="OIS4" description="Output Idle state 4" start="14" size="1" />
      <BitField name="OIS3N" description="Output Idle state 3" start="13" size="1" />
      <BitField name="OIS3" description="Output Idle state 3" start="12" size="1" />
      <BitField name="OIS2N" description="Output Idle state 2" start="11" size="1" />
      <BitField name="OIS2" description="Output Idle state 2" start="10" size="1" />
      <BitField name="OIS1N" description="Output Idle state 1" start="9" size="1" />
      <BitField name="OIS1" description="Output Idle state 1" start="8" size="1" />
      <BitField name="TI1S" description="TI1 selection" start="7" size="1" />
      <BitField name="MMS" description="Master mode selection" start="4" size="3" />
      <BitField name="CCDS" description="Capture/compare DMA selection" start="3" size="1" />
      <BitField name="CCUS" description="Capture/compare control update selection" start="2" size="1" />
      <BitField name="CCPC" description="Capture/compare preloaded control" start="0" size="1" />
    </Register>
    <Register name="SMCR" description="slave mode control register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMSPS" description="SMS Preload Source" start="25" size="1" />
      <BitField name="SMSPE" description="SMS Preload Enable" start="24" size="1" />
      <BitField name="TS_4_3" description="Trigger selection - bit 4:3" start="20" size="2" />
      <BitField name="SMS_3" description="Slave mode selection - bit 3" start="16" size="1" />
      <BitField name="ETP" description="External trigger polarity" start="15" size="1" />
      <BitField name="ECE" description="External clock enable" start="14" size="1" />
      <BitField name="ETPS" description="External trigger prescaler" start="12" size="2" />
      <BitField name="ETF" description="External trigger filter" start="8" size="4" />
      <BitField name="MSM" description="Master/Slave mode" start="7" size="1" />
      <BitField name="TS" description="Trigger selection" start="4" size="3" />
      <BitField name="OCCS" description="OCREF clear selection" start="3" size="1" />
      <BitField name="SMS" description="Slave mode selection" start="0" size="3" />
    </Register>
    <Register name="DIER" description="DMA/Interrupt enable register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TERRIE" description="Transition Error interrupt enable" start="23" size="1" />
      <BitField name="IERRIE" description="Index Error interrupt enable" start="22" size="1" />
      <BitField name="DIRIE" description="Direction Change interrupt enable" start="21" size="1" />
      <BitField name="IDXIE" description="Index interrupt enable" start="20" size="1" />
      <BitField name="TDE" description="Trigger DMA request enable" start="14" size="1" />
      <BitField name="COMDE" description="COM DMA request enable" start="13" size="1" />
      <BitField name="CC4DE" description="Capture/Compare 4 DMA request enable" start="12" size="1" />
      <BitField name="CC3DE" description="Capture/Compare 3 DMA request enable" start="11" size="1" />
      <BitField name="CC2DE" description="Capture/Compare 2 DMA request enable" start="10" size="1" />
      <BitField name="CC1DE" description="Capture/Compare 1 DMA request enable" start="9" size="1" />
      <BitField name="UDE" description="Update DMA request enable" start="8" size="1" />
      <BitField name="TIE" description="Trigger interrupt enable" start="6" size="1" />
      <BitField name="CC4IE" description="Capture/Compare 4 interrupt enable" start="4" size="1" />
      <BitField name="CC3IE" description="Capture/Compare 3 interrupt enable" start="3" size="1" />
      <BitField name="CC2IE" description="Capture/Compare 2 interrupt enable" start="2" size="1" />
      <BitField name="CC1IE" description="Capture/Compare 1 interrupt enable" start="1" size="1" />
      <BitField name="UIE" description="Update interrupt enable" start="0" size="1" />
      <BitField name="BIE" description="Break interrupt enable" start="7" size="1" />
      <BitField name="COMIE" description="COM interrupt enable" start="5" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TERRF" description="Transition Error interrupt flag" start="23" size="1" />
      <BitField name="IERRF" description="Index Error interrupt flag" start="22" size="1" />
      <BitField name="DIRF" description="Direction Change interrupt flag" start="21" size="1" />
      <BitField name="IDXF" description="Index interrupt flag" start="20" size="1" />
      <BitField name="CC6IF" description="Compare 6 interrupt flag" start="17" size="1" />
      <BitField name="CC5IF" description="Compare 5 interrupt flag" start="16" size="1" />
      <BitField name="SBIF" description="System Break interrupt flag" start="13" size="1" />
      <BitField name="CC4OF" description="Capture/Compare 4 overcapture flag" start="12" size="1" />
      <BitField name="CC3OF" description="Capture/Compare 3 overcapture flag" start="11" size="1" />
      <BitField name="CC2OF" description="Capture/compare 2 overcapture flag" start="10" size="1" />
      <BitField name="CC1OF" description="Capture/Compare 1 overcapture flag" start="9" size="1" />
      <BitField name="B2IF" description="Break 2 interrupt flag" start="8" size="1" />
      <BitField name="BIF" description="Break interrupt flag" start="7" size="1" />
      <BitField name="TIF" description="Trigger interrupt flag" start="6" size="1" />
      <BitField name="COMIF" description="COM interrupt flag" start="5" size="1" />
      <BitField name="CC4IF" description="Capture/Compare 4 interrupt flag" start="4" size="1" />
      <BitField name="CC3IF" description="Capture/Compare 3 interrupt flag" start="3" size="1" />
      <BitField name="CC2IF" description="Capture/Compare 2 interrupt flag" start="2" size="1" />
      <BitField name="CC1IF" description="Capture/compare 1 interrupt flag" start="1" size="1" />
      <BitField name="UIF" description="Update interrupt flag" start="0" size="1" />
    </Register>
    <Register name="EGR" description="event generation register" start="+0x14" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="B2G" description="Break 2 generation" start="8" size="1" />
      <BitField name="BG" description="Break generation" start="7" size="1" />
      <BitField name="TG" description="Trigger generation" start="6" size="1" />
      <BitField name="COMG" description="Capture/Compare control update generation" start="5" size="1" />
      <BitField name="CC4G" description="Capture/compare 4 generation" start="4" size="1" />
      <BitField name="CC3G" description="Capture/compare 3 generation" start="3" size="1" />
      <BitField name="CC2G" description="Capture/compare 2 generation" start="2" size="1" />
      <BitField name="CC1G" description="Capture/compare 1 generation" start="1" size="1" />
      <BitField name="UG" description="Update generation" start="0" size="1" />
    </Register>
    <Register name="CCMR1_Output" description="capture/compare mode register 1 (output mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC2M_3" description="Output Compare 2 mode - bit 3" start="24" size="1" />
      <BitField name="OC1M_3" description="Output Compare 1 mode - bit 3" start="16" size="1" />
      <BitField name="OC2CE" description="Output Compare 2 clear enable" start="15" size="1" />
      <BitField name="OC2M" description="Output Compare 2 mode" start="12" size="3" />
      <BitField name="OC2PE" description="Output Compare 2 preload enable" start="11" size="1" />
      <BitField name="OC2FE" description="Output Compare 2 fast enable" start="10" size="1" />
      <BitField name="CC2S" description="Capture/Compare 2 selection" start="8" size="2" />
      <BitField name="OC1CE" description="Output Compare 1 clear enable" start="7" size="1" />
      <BitField name="OC1M" description="Output Compare 1 mode" start="4" size="3" />
      <BitField name="OC1PE" description="Output Compare 1 preload enable" start="3" size="1" />
      <BitField name="OC1FE" description="Output Compare 1 fast enable" start="2" size="1" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR1_Input" description="capture/compare mode register 1 (input mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC2F" description="Input capture 2 filter" start="12" size="4" />
      <BitField name="IC2PSC" description="Input capture 2 prescaler" start="10" size="2" />
      <BitField name="CC2S" description="Capture/Compare 2 selection" start="8" size="2" />
      <BitField name="IC1F" description="Input capture 1 filter" start="4" size="4" />
      <BitField name="ICPCS" description="Input capture 1 prescaler" start="2" size="2" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR2_Output" description="capture/compare mode register 2 (output mode)" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC4M_3" description="Output Compare 4 mode - bit 3" start="24" size="1" />
      <BitField name="OC3M_3" description="Output Compare 3 mode - bit 3" start="16" size="1" />
      <BitField name="OC4CE" description="Output compare 4 clear enable" start="15" size="1" />
      <BitField name="OC4M" description="Output compare 4 mode" start="12" size="3" />
      <BitField name="OC4PE" description="Output compare 4 preload enable" start="11" size="1" />
      <BitField name="OC4FE" description="Output compare 4 fast enable" start="10" size="1" />
      <BitField name="CC4S" description="Capture/Compare 4 selection" start="8" size="2" />
      <BitField name="OC3CE" description="Output compare 3 clear enable" start="7" size="1" />
      <BitField name="OC3M" description="Output compare 3 mode" start="4" size="3" />
      <BitField name="OC3PE" description="Output compare 3 preload enable" start="3" size="1" />
      <BitField name="OC3FE" description="Output compare 3 fast enable" start="2" size="1" />
      <BitField name="CC3S" description="Capture/Compare 3 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR2_Input" description="capture/compare mode register 2 (input mode)" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC4F" description="Input capture 4 filter" start="12" size="4" />
      <BitField name="IC4PSC" description="Input capture 4 prescaler" start="10" size="2" />
      <BitField name="CC4S" description="Capture/Compare 4 selection" start="8" size="2" />
      <BitField name="IC3F" description="Input capture 3 filter" start="4" size="4" />
      <BitField name="IC3PSC" description="Input capture 3 prescaler" start="2" size="2" />
      <BitField name="CC3S" description="Capture/compare 3 selection" start="0" size="2" />
    </Register>
    <Register name="CCER" description="capture/compare enable register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CC6P" description="Capture/Compare 6 output polarity" start="21" size="1" />
      <BitField name="CC6E" description="Capture/Compare 6 output enable" start="20" size="1" />
      <BitField name="CC5P" description="Capture/Compare 5 output polarity" start="17" size="1" />
      <BitField name="CC5E" description="Capture/Compare 5 output enable" start="16" size="1" />
      <BitField name="CC4NP" description="Capture/Compare 4 complementary output polarity" start="15" size="1" />
      <BitField name="CC4NE" description="Capture/Compare 4 complementary output enable" start="14" size="1" />
      <BitField name="CC4P" description="Capture/Compare 3 output Polarity" start="13" size="1" />
      <BitField name="CC4E" description="Capture/Compare 4 output enable" start="12" size="1" />
      <BitField name="CC3NP" description="Capture/Compare 3 output Polarity" start="11" size="1" />
      <BitField name="CC3NE" description="Capture/Compare 3 complementary output enable" start="10" size="1" />
      <BitField name="CC3P" description="Capture/Compare 3 output Polarity" start="9" size="1" />
      <BitField name="CC3E" description="Capture/Compare 3 output enable" start="8" size="1" />
      <BitField name="CC2NP" description="Capture/Compare 2 output Polarity" start="7" size="1" />
      <BitField name="CC2NE" description="Capture/Compare 2 complementary output enable" start="6" size="1" />
      <BitField name="CC2P" description="Capture/Compare 2 output Polarity" start="5" size="1" />
      <BitField name="CC2E" description="Capture/Compare 2 output enable" start="4" size="1" />
      <BitField name="CC1NP" description="Capture/Compare 1 output Polarity" start="3" size="1" />
      <BitField name="CC1NE" description="Capture/Compare 1 complementary output enable" start="2" size="1" />
      <BitField name="CC1P" description="Capture/Compare 1 output Polarity" start="1" size="1" />
      <BitField name="CC1E" description="Capture/Compare 1 output enable" start="0" size="1" />
    </Register>
    <Register name="CNT" description="counter" start="+0x24" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="UIFCPY" description="UIFCPY" start="31" size="1" access="ReadOnly" />
      <BitField name="CNT" description="counter value" start="0" size="16" access="Read/Write" />
    </Register>
    <Register name="PSC" description="prescaler" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PSC" description="Prescaler value" start="0" size="16" />
    </Register>
    <Register name="ARR" description="auto-reload register" start="+0x2C" size="4" access="Read/Write" reset_value="0x0000FFFF" reset_mask="0xFFFFFFFF">
      <BitField name="ARR" description="Auto-reload value" start="0" size="16" />
    </Register>
    <Register name="RCR" description="repetition counter register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="REP" description="Repetition counter value" start="0" size="16" />
    </Register>
    <Register name="CCR1" description="capture/compare register 1" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR1" description="Capture/Compare 1 value" start="0" size="16" />
    </Register>
    <Register name="CCR2" description="capture/compare register 2" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR2" description="Capture/Compare 2 value" start="0" size="16" />
    </Register>
    <Register name="CCR3" description="capture/compare register 3" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR3" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="CCR4" description="capture/compare register 4" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR4" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="BDTR" description="break and dead-time register" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BK2ID" description="BK2ID" start="29" size="1" />
      <BitField name="BKBID" description="BKBID" start="28" size="1" />
      <BitField name="BK2DSRM" description="BK2DSRM" start="27" size="1" />
      <BitField name="BKDSRM" description="BKDSRM" start="26" size="1" />
      <BitField name="BK2P" description="Break 2 polarity" start="25" size="1" />
      <BitField name="BK2E" description="Break 2 Enable" start="24" size="1" />
      <BitField name="BK2F" description="Break 2 filter" start="20" size="4" />
      <BitField name="BKF" description="Break filter" start="16" size="4" />
      <BitField name="MOE" description="Main output enable" start="15" size="1" />
      <BitField name="AOE" description="Automatic output enable" start="14" size="1" />
      <BitField name="BKP" description="Break polarity" start="13" size="1" />
      <BitField name="BKE" description="Break enable" start="12" size="1" />
      <BitField name="OSSR" description="Off-state selection for Run mode" start="11" size="1" />
      <BitField name="OSSI" description="Off-state selection for Idle mode" start="10" size="1" />
      <BitField name="LOCK" description="Lock configuration" start="8" size="2" />
      <BitField name="DTG" description="Dead-time generator setup" start="0" size="8" />
    </Register>
    <Register name="CCR5" description="capture/compare register 4" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR5" description="Capture/Compare value" start="0" size="16" />
      <BitField name="GC5C1" description="Group Channel 5 and Channel 1" start="29" size="1" />
      <BitField name="GC5C2" description="Group Channel 5 and Channel 2" start="30" size="1" />
      <BitField name="GC5C3" description="Group Channel 5 and Channel 3" start="31" size="1" />
    </Register>
    <Register name="CCR6" description="capture/compare register 4" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR6" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="CCMR3_Output" description="capture/compare mode register 2 (output mode)" start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC6M_bit3" description="Output Compare 6 mode bit 3" start="24" size="1" />
      <BitField name="OC5M_bit3" description="Output Compare 5 mode bit 3" start="16" size="3" />
      <BitField name="OC6CE" description="Output compare 6 clear enable" start="15" size="1" />
      <BitField name="OC6M" description="Output compare 6 mode" start="12" size="3" />
      <BitField name="OC6PE" description="Output compare 6 preload enable" start="11" size="1" />
      <BitField name="OC6FE" description="Output compare 6 fast enable" start="10" size="1" />
      <BitField name="OC5CE" description="Output compare 5 clear enable" start="7" size="1" />
      <BitField name="OC5M" description="Output compare 5 mode" start="4" size="3" />
      <BitField name="OC5PE" description="Output compare 5 preload enable" start="3" size="1" />
      <BitField name="OC5FE" description="Output compare 5 fast enable" start="2" size="1" />
    </Register>
    <Register name="DTR2" description="timer Deadtime Register 2" start="+0x54" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DTPE" description="Deadtime Preload Enable" start="17" size="1" />
      <BitField name="DTAE" description="Deadtime Asymmetric Enable" start="16" size="1" />
      <BitField name="DTGF" description="Dead-time falling edge generator setup" start="0" size="8" />
    </Register>
    <Register name="ECR" description="DMA control register" start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IE" description="Index Enable" start="0" size="1" />
      <BitField name="IDIR" description="Index Direction" start="1" size="2" />
      <BitField name="IBLK" description="Index Blanking" start="3" size="2" />
      <BitField name="FIDX" description="First Index" start="5" size="1" />
      <BitField name="IPOS" description="Index Positioning" start="6" size="2" />
      <BitField name="PW" description="Pulse width" start="16" size="8" />
      <BitField name="PWPRSC" description="Pulse Width prescaler" start="24" size="3" />
    </Register>
    <Register name="TISEL" description="TIM timer input selection register" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TI1SEL" description="TI1[0] to TI1[15] input selection" start="0" size="4" />
      <BitField name="TI2SEL" description="TI2[0] to TI2[15] input selection" start="8" size="4" />
      <BitField name="TI3SEL" description="TI3[0] to TI3[15] input selection" start="16" size="4" />
      <BitField name="TI4SEL" description="TI4[0] to TI4[15] input selection" start="24" size="4" />
    </Register>
    <Register name="AF1" description="TIM alternate function option register 1" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ETRSEL" description="ETR source selection" start="14" size="4" />
      <BitField name="BKCMP4P" description="BRK COMP4 input polarity" start="13" size="1" />
      <BitField name="BKCMP3P" description="BRK COMP3 input polarity" start="12" size="1" />
      <BitField name="BKCMP2P" description="BRK COMP2 input polarity" start="11" size="1" />
      <BitField name="BKCMP1P" description="BRK COMP1 input polarity" start="10" size="1" />
      <BitField name="BKINP" description="BRK BKIN input polarity" start="9" size="1" />
      <BitField name="BKCMP7E" description="BRK COMP7 enable" start="7" size="1" />
      <BitField name="BKCMP6E" description="BRK COMP6 enable" start="6" size="1" />
      <BitField name="BKCMP5E" description="BRK COMP5 enable" start="5" size="1" />
      <BitField name="BKCMP4E" description="BRK COMP4 enable" start="4" size="1" />
      <BitField name="BKCMP3E" description="BRK COMP3 enable" start="3" size="1" />
      <BitField name="BKCMP2E" description="BRK COMP2 enable" start="2" size="1" />
      <BitField name="BKCMP1E" description="BRK COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="AF2" description="TIM alternate function option register 2" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OCRSEL" description="OCREF_CLR source selection" start="16" size="3" />
      <BitField name="BK2CMP4P" description="BRK2 COMP4 input polarity" start="13" size="1" />
      <BitField name="BK2CMP3P" description="BRK2 COMP3 input polarity" start="12" size="1" />
      <BitField name="BK2CMP2P" description="BRK2 COMP2 input polarity" start="11" size="1" />
      <BitField name="BK2CMP1P" description="BRK2 COMP1 input polarity" start="10" size="1" />
      <BitField name="BK2INP" description="BRK2 BKIN input polarity" start="9" size="1" />
      <BitField name="BK2CMP7E" description="BRK2 COMP7 enable" start="7" size="1" />
      <BitField name="BK2CMP6E" description="BRK2 COMP6 enable" start="6" size="1" />
      <BitField name="BK2CMP5E" description="BRK2 COMP5 enable" start="5" size="1" />
      <BitField name="BK2CMP4E" description="BRK2 COMP4 enable" start="4" size="1" />
      <BitField name="BK2CMP3E" description="BRK2 COMP3 enable" start="3" size="1" />
      <BitField name="BK2CMP2E" description="BRK2 COMP2 enable" start="2" size="1" />
      <BitField name="BK2CMP1E" description="BRK2 COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="DCR" description="control register" start="+0x3DC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DBL" description="DMA burst length" start="8" size="5" />
      <BitField name="DBA" description="DMA base address" start="0" size="5" />
    </Register>
    <Register name="DMAR" description="DMA address for full transfer" start="+0x3E0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAB" description="DMA register for burst accesses" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM2" description="Advanced-timers" start="0x40000000">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DITHEN" description="Dithering Enable" start="12" size="1" />
      <BitField name="UIFREMAP" description="UIF status bit remapping" start="11" size="1" />
      <BitField name="CKD" description="Clock division" start="8" size="2" />
      <BitField name="ARPE" description="Auto-reload preload enable" start="7" size="1" />
      <BitField name="CMS" description="Center-aligned mode selection" start="5" size="2" />
      <BitField name="DIR" description="Direction" start="4" size="1" />
      <BitField name="OPM" description="One-pulse mode" start="3" size="1" />
      <BitField name="URS" description="Update request source" start="2" size="1" />
      <BitField name="UDIS" description="Update disable" start="1" size="1" />
      <BitField name="CEN" description="Counter enable" start="0" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MMS_3" description="Master mode selection - bit 3" start="25" size="1" />
      <BitField name="MMS2" description="Master mode selection 2" start="20" size="4" />
      <BitField name="OIS6" description="Output Idle state 6 (OC6 output)" start="18" size="1" />
      <BitField name="OIS5" description="Output Idle state 5 (OC5 output)" start="16" size="1" />
      <BitField name="OIS4N" description="Output Idle state 4 (OC4N output)" start="15" size="1" />
      <BitField name="OIS4" description="Output Idle state 4" start="14" size="1" />
      <BitField name="OIS3N" description="Output Idle state 3" start="13" size="1" />
      <BitField name="OIS3" description="Output Idle state 3" start="12" size="1" />
      <BitField name="OIS2N" description="Output Idle state 2" start="11" size="1" />
      <BitField name="OIS2" description="Output Idle state 2" start="10" size="1" />
      <BitField name="OIS1N" description="Output Idle state 1" start="9" size="1" />
      <BitField name="OIS1" description="Output Idle state 1" start="8" size="1" />
      <BitField name="TI1S" description="TI1 selection" start="7" size="1" />
      <BitField name="MMS" description="Master mode selection" start="4" size="3" />
      <BitField name="CCDS" description="Capture/compare DMA selection" start="3" size="1" />
      <BitField name="CCUS" description="Capture/compare control update selection" start="2" size="1" />
      <BitField name="CCPC" description="Capture/compare preloaded control" start="0" size="1" />
    </Register>
    <Register name="SMCR" description="slave mode control register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMSPS" description="SMS Preload Source" start="25" size="1" />
      <BitField name="SMSPE" description="SMS Preload Enable" start="24" size="1" />
      <BitField name="TS_4_3" description="Trigger selection - bit 4:3" start="20" size="2" />
      <BitField name="SMS_3" description="Slave mode selection - bit 3" start="16" size="1" />
      <BitField name="ETP" description="External trigger polarity" start="15" size="1" />
      <BitField name="ECE" description="External clock enable" start="14" size="1" />
      <BitField name="ETPS" description="External trigger prescaler" start="12" size="2" />
      <BitField name="ETF" description="External trigger filter" start="8" size="4" />
      <BitField name="MSM" description="Master/Slave mode" start="7" size="1" />
      <BitField name="TS" description="Trigger selection" start="4" size="3" />
      <BitField name="OCCS" description="OCREF clear selection" start="3" size="1" />
      <BitField name="SMS" description="Slave mode selection" start="0" size="3" />
    </Register>
    <Register name="DIER" description="DMA/Interrupt enable register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TERRIE" description="Transition Error interrupt enable" start="23" size="1" />
      <BitField name="IERRIE" description="Index Error interrupt enable" start="22" size="1" />
      <BitField name="DIRIE" description="Direction Change interrupt enable" start="21" size="1" />
      <BitField name="IDXIE" description="Index interrupt enable" start="20" size="1" />
      <BitField name="TDE" description="Trigger DMA request enable" start="14" size="1" />
      <BitField name="COMDE" description="COM DMA request enable" start="13" size="1" />
      <BitField name="CC4DE" description="Capture/Compare 4 DMA request enable" start="12" size="1" />
      <BitField name="CC3DE" description="Capture/Compare 3 DMA request enable" start="11" size="1" />
      <BitField name="CC2DE" description="Capture/Compare 2 DMA request enable" start="10" size="1" />
      <BitField name="CC1DE" description="Capture/Compare 1 DMA request enable" start="9" size="1" />
      <BitField name="UDE" description="Update DMA request enable" start="8" size="1" />
      <BitField name="TIE" description="Trigger interrupt enable" start="6" size="1" />
      <BitField name="CC4IE" description="Capture/Compare 4 interrupt enable" start="4" size="1" />
      <BitField name="CC3IE" description="Capture/Compare 3 interrupt enable" start="3" size="1" />
      <BitField name="CC2IE" description="Capture/Compare 2 interrupt enable" start="2" size="1" />
      <BitField name="CC1IE" description="Capture/Compare 1 interrupt enable" start="1" size="1" />
      <BitField name="UIE" description="Update interrupt enable" start="0" size="1" />
      <BitField name="BIE" description="Break interrupt enable" start="7" size="1" />
      <BitField name="COMIE" description="COM interrupt enable" start="5" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TERRF" description="Transition Error interrupt flag" start="23" size="1" />
      <BitField name="IERRF" description="Index Error interrupt flag" start="22" size="1" />
      <BitField name="DIRF" description="Direction Change interrupt flag" start="21" size="1" />
      <BitField name="IDXF" description="Index interrupt flag" start="20" size="1" />
      <BitField name="CC6IF" description="Compare 6 interrupt flag" start="17" size="1" />
      <BitField name="CC5IF" description="Compare 5 interrupt flag" start="16" size="1" />
      <BitField name="SBIF" description="System Break interrupt flag" start="13" size="1" />
      <BitField name="CC4OF" description="Capture/Compare 4 overcapture flag" start="12" size="1" />
      <BitField name="CC3OF" description="Capture/Compare 3 overcapture flag" start="11" size="1" />
      <BitField name="CC2OF" description="Capture/compare 2 overcapture flag" start="10" size="1" />
      <BitField name="CC1OF" description="Capture/Compare 1 overcapture flag" start="9" size="1" />
      <BitField name="B2IF" description="Break 2 interrupt flag" start="8" size="1" />
      <BitField name="BIF" description="Break interrupt flag" start="7" size="1" />
      <BitField name="TIF" description="Trigger interrupt flag" start="6" size="1" />
      <BitField name="COMIF" description="COM interrupt flag" start="5" size="1" />
      <BitField name="CC4IF" description="Capture/Compare 4 interrupt flag" start="4" size="1" />
      <BitField name="CC3IF" description="Capture/Compare 3 interrupt flag" start="3" size="1" />
      <BitField name="CC2IF" description="Capture/Compare 2 interrupt flag" start="2" size="1" />
      <BitField name="CC1IF" description="Capture/compare 1 interrupt flag" start="1" size="1" />
      <BitField name="UIF" description="Update interrupt flag" start="0" size="1" />
    </Register>
    <Register name="EGR" description="event generation register" start="+0x14" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="B2G" description="Break 2 generation" start="8" size="1" />
      <BitField name="BG" description="Break generation" start="7" size="1" />
      <BitField name="TG" description="Trigger generation" start="6" size="1" />
      <BitField name="COMG" description="Capture/Compare control update generation" start="5" size="1" />
      <BitField name="CC4G" description="Capture/compare 4 generation" start="4" size="1" />
      <BitField name="CC3G" description="Capture/compare 3 generation" start="3" size="1" />
      <BitField name="CC2G" description="Capture/compare 2 generation" start="2" size="1" />
      <BitField name="CC1G" description="Capture/compare 1 generation" start="1" size="1" />
      <BitField name="UG" description="Update generation" start="0" size="1" />
    </Register>
    <Register name="CCMR1_Output" description="capture/compare mode register 1 (output mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC2M_3" description="Output Compare 2 mode - bit 3" start="24" size="1" />
      <BitField name="OC1M_3" description="Output Compare 1 mode - bit 3" start="16" size="1" />
      <BitField name="OC2CE" description="Output Compare 2 clear enable" start="15" size="1" />
      <BitField name="OC2M" description="Output Compare 2 mode" start="12" size="3" />
      <BitField name="OC2PE" description="Output Compare 2 preload enable" start="11" size="1" />
      <BitField name="OC2FE" description="Output Compare 2 fast enable" start="10" size="1" />
      <BitField name="CC2S" description="Capture/Compare 2 selection" start="8" size="2" />
      <BitField name="OC1CE" description="Output Compare 1 clear enable" start="7" size="1" />
      <BitField name="OC1M" description="Output Compare 1 mode" start="4" size="3" />
      <BitField name="OC1PE" description="Output Compare 1 preload enable" start="3" size="1" />
      <BitField name="OC1FE" description="Output Compare 1 fast enable" start="2" size="1" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR1_Input" description="capture/compare mode register 1 (input mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC2F" description="Input capture 2 filter" start="12" size="4" />
      <BitField name="IC2PSC" description="Input capture 2 prescaler" start="10" size="2" />
      <BitField name="CC2S" description="Capture/Compare 2 selection" start="8" size="2" />
      <BitField name="IC1F" description="Input capture 1 filter" start="4" size="4" />
      <BitField name="ICPCS" description="Input capture 1 prescaler" start="2" size="2" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR2_Output" description="capture/compare mode register 2 (output mode)" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC4M_3" description="Output Compare 4 mode - bit 3" start="24" size="1" />
      <BitField name="OC3M_3" description="Output Compare 3 mode - bit 3" start="16" size="1" />
      <BitField name="OC4CE" description="Output compare 4 clear enable" start="15" size="1" />
      <BitField name="OC4M" description="Output compare 4 mode" start="12" size="3" />
      <BitField name="OC4PE" description="Output compare 4 preload enable" start="11" size="1" />
      <BitField name="OC4FE" description="Output compare 4 fast enable" start="10" size="1" />
      <BitField name="CC4S" description="Capture/Compare 4 selection" start="8" size="2" />
      <BitField name="OC3CE" description="Output compare 3 clear enable" start="7" size="1" />
      <BitField name="OC3M" description="Output compare 3 mode" start="4" size="3" />
      <BitField name="OC3PE" description="Output compare 3 preload enable" start="3" size="1" />
      <BitField name="OC3FE" description="Output compare 3 fast enable" start="2" size="1" />
      <BitField name="CC3S" description="Capture/Compare 3 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR2_Input" description="capture/compare mode register 2 (input mode)" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC4F" description="Input capture 4 filter" start="12" size="4" />
      <BitField name="IC4PSC" description="Input capture 4 prescaler" start="10" size="2" />
      <BitField name="CC4S" description="Capture/Compare 4 selection" start="8" size="2" />
      <BitField name="IC3F" description="Input capture 3 filter" start="4" size="4" />
      <BitField name="IC3PSC" description="Input capture 3 prescaler" start="2" size="2" />
      <BitField name="CC3S" description="Capture/compare 3 selection" start="0" size="2" />
    </Register>
    <Register name="CCER" description="capture/compare enable register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CC6P" description="Capture/Compare 6 output polarity" start="21" size="1" />
      <BitField name="CC6E" description="Capture/Compare 6 output enable" start="20" size="1" />
      <BitField name="CC5P" description="Capture/Compare 5 output polarity" start="17" size="1" />
      <BitField name="CC5E" description="Capture/Compare 5 output enable" start="16" size="1" />
      <BitField name="CC4NP" description="Capture/Compare 4 complementary output polarity" start="15" size="1" />
      <BitField name="CC4NE" description="Capture/Compare 4 complementary output enable" start="14" size="1" />
      <BitField name="CC4P" description="Capture/Compare 3 output Polarity" start="13" size="1" />
      <BitField name="CC4E" description="Capture/Compare 4 output enable" start="12" size="1" />
      <BitField name="CC3NP" description="Capture/Compare 3 output Polarity" start="11" size="1" />
      <BitField name="CC3NE" description="Capture/Compare 3 complementary output enable" start="10" size="1" />
      <BitField name="CC3P" description="Capture/Compare 3 output Polarity" start="9" size="1" />
      <BitField name="CC3E" description="Capture/Compare 3 output enable" start="8" size="1" />
      <BitField name="CC2NP" description="Capture/Compare 2 output Polarity" start="7" size="1" />
      <BitField name="CC2NE" description="Capture/Compare 2 complementary output enable" start="6" size="1" />
      <BitField name="CC2P" description="Capture/Compare 2 output Polarity" start="5" size="1" />
      <BitField name="CC2E" description="Capture/Compare 2 output enable" start="4" size="1" />
      <BitField name="CC1NP" description="Capture/Compare 1 output Polarity" start="3" size="1" />
      <BitField name="CC1NE" description="Capture/Compare 1 complementary output enable" start="2" size="1" />
      <BitField name="CC1P" description="Capture/Compare 1 output Polarity" start="1" size="1" />
      <BitField name="CC1E" description="Capture/Compare 1 output enable" start="0" size="1" />
    </Register>
    <Register name="CNT" description="counter" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="UIFCPY" description="UIFCPY" start="31" size="1" />
      <BitField name="CNT" description="counter value" start="0" size="16" />
    </Register>
    <Register name="PSC" description="prescaler" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PSC" description="Prescaler value" start="0" size="16" />
    </Register>
    <Register name="ARR" description="auto-reload register" start="+0x2C" size="4" access="Read/Write" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="ARR" description="Auto-reload value" start="0" size="16" />
    </Register>
    <Register name="RCR" description="repetition counter register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="REP" description="Repetition counter value" start="0" size="16" />
    </Register>
    <Register name="CCR1" description="capture/compare register 1" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR1" description="Capture/Compare 1 value" start="0" size="16" />
    </Register>
    <Register name="CCR2" description="capture/compare register 2" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR2" description="Capture/Compare 2 value" start="0" size="16" />
    </Register>
    <Register name="CCR3" description="capture/compare register 3" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR3" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="CCR4" description="capture/compare register 4" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR4" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="BDTR" description="break and dead-time register" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BK2ID" description="BK2ID" start="29" size="1" />
      <BitField name="BKBID" description="BKBID" start="28" size="1" />
      <BitField name="BK2DSRM" description="BK2DSRM" start="27" size="1" />
      <BitField name="BKDSRM" description="BKDSRM" start="26" size="1" />
      <BitField name="BK2P" description="Break 2 polarity" start="25" size="1" />
      <BitField name="BK2E" description="Break 2 Enable" start="24" size="1" />
      <BitField name="BK2F" description="Break 2 filter" start="20" size="4" />
      <BitField name="BKF" description="Break filter" start="16" size="4" />
      <BitField name="MOE" description="Main output enable" start="15" size="1" />
      <BitField name="AOE" description="Automatic output enable" start="14" size="1" />
      <BitField name="BKP" description="Break polarity" start="13" size="1" />
      <BitField name="BKE" description="Break enable" start="12" size="1" />
      <BitField name="OSSR" description="Off-state selection for Run mode" start="11" size="1" />
      <BitField name="OSSI" description="Off-state selection for Idle mode" start="10" size="1" />
      <BitField name="LOCK" description="Lock configuration" start="8" size="2" />
      <BitField name="DTG" description="Dead-time generator setup" start="0" size="8" />
    </Register>
    <Register name="CCR5" description="capture/compare register 4" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR5" description="Capture/Compare value" start="0" size="16" />
      <BitField name="GC5C1" description="Group Channel 5 and Channel 1" start="29" size="1" />
      <BitField name="GC5C2" description="Group Channel 5 and Channel 2" start="30" size="1" />
      <BitField name="GC5C3" description="Group Channel 5 and Channel 3" start="31" size="1" />
    </Register>
    <Register name="CCR6" description="capture/compare register 4" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR6" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="CCMR3_Output" description="capture/compare mode register 2 (output mode)" start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC6M_bit3" description="Output Compare 6 mode bit 3" start="24" size="1" />
      <BitField name="OC5M_bit3" description="Output Compare 5 mode bit 3" start="16" size="3" />
      <BitField name="OC6CE" description="Output compare 6 clear enable" start="15" size="1" />
      <BitField name="OC6M" description="Output compare 6 mode" start="12" size="3" />
      <BitField name="OC6PE" description="Output compare 6 preload enable" start="11" size="1" />
      <BitField name="OC6FE" description="Output compare 6 fast enable" start="10" size="1" />
      <BitField name="OC5CE" description="Output compare 5 clear enable" start="7" size="1" />
      <BitField name="OC5M" description="Output compare 5 mode" start="4" size="3" />
      <BitField name="OC5PE" description="Output compare 5 preload enable" start="3" size="1" />
      <BitField name="OC5FE" description="Output compare 5 fast enable" start="2" size="1" />
    </Register>
    <Register name="DTR2" description="timer Deadtime Register 2" start="+0x54" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DTPE" description="Deadtime Preload Enable" start="17" size="1" />
      <BitField name="DTAE" description="Deadtime Asymmetric Enable" start="16" size="1" />
      <BitField name="DTGF" description="Dead-time falling edge generator setup" start="0" size="8" />
    </Register>
    <Register name="ECR" description="DMA control register" start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IE" description="Index Enable" start="0" size="1" />
      <BitField name="IDIR" description="Index Direction" start="1" size="2" />
      <BitField name="IBLK" description="Index Blanking" start="3" size="2" />
      <BitField name="FIDX" description="First Index" start="5" size="1" />
      <BitField name="IPOS" description="Index Positioning" start="6" size="2" />
      <BitField name="PW" description="Pulse width" start="16" size="8" />
      <BitField name="PWPRSC" description="Pulse Width prescaler" start="24" size="3" />
    </Register>
    <Register name="TISEL" description="TIM timer input selection register" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TI1SEL" description="TI1[0] to TI1[15] input selection" start="0" size="4" />
      <BitField name="TI2SEL" description="TI2[0] to TI2[15] input selection" start="8" size="4" />
      <BitField name="TI3SEL" description="TI3[0] to TI3[15] input selection" start="16" size="4" />
      <BitField name="TI4SEL" description="TI4[0] to TI4[15] input selection" start="24" size="4" />
    </Register>
    <Register name="AF1" description="TIM alternate function option register 1" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ETRSEL" description="ETR source selection" start="14" size="4" />
      <BitField name="BKCMP4P" description="BRK COMP4 input polarity" start="13" size="1" />
      <BitField name="BKCMP3P" description="BRK COMP3 input polarity" start="12" size="1" />
      <BitField name="BKCMP2P" description="BRK COMP2 input polarity" start="11" size="1" />
      <BitField name="BKCMP1P" description="BRK COMP1 input polarity" start="10" size="1" />
      <BitField name="BKINP" description="BRK BKIN input polarity" start="9" size="1" />
      <BitField name="BKCMP7E" description="BRK COMP7 enable" start="7" size="1" />
      <BitField name="BKCMP6E" description="BRK COMP6 enable" start="6" size="1" />
      <BitField name="BKCMP5E" description="BRK COMP5 enable" start="5" size="1" />
      <BitField name="BKCMP4E" description="BRK COMP4 enable" start="4" size="1" />
      <BitField name="BKCMP3E" description="BRK COMP3 enable" start="3" size="1" />
      <BitField name="BKCMP2E" description="BRK COMP2 enable" start="2" size="1" />
      <BitField name="BKCMP1E" description="BRK COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="AF2" description="TIM alternate function option register 2" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OCRSEL" description="OCREF_CLR source selection" start="16" size="3" />
      <BitField name="BK2CMP4P" description="BRK2 COMP4 input polarity" start="13" size="1" />
      <BitField name="BK2CMP3P" description="BRK2 COMP3 input polarity" start="12" size="1" />
      <BitField name="BK2CMP2P" description="BRK2 COMP2 input polarity" start="11" size="1" />
      <BitField name="BK2CMP1P" description="BRK2 COMP1 input polarity" start="10" size="1" />
      <BitField name="BK2INP" description="BRK2 BKIN input polarity" start="9" size="1" />
      <BitField name="BK2CMP7E" description="BRK2 COMP7 enable" start="7" size="1" />
      <BitField name="BK2CMP6E" description="BRK2 COMP6 enable" start="6" size="1" />
      <BitField name="BK2CMP5E" description="BRK2 COMP5 enable" start="5" size="1" />
      <BitField name="BK2CMP4E" description="BRK2 COMP4 enable" start="4" size="1" />
      <BitField name="BK2CMP3E" description="BRK2 COMP3 enable" start="3" size="1" />
      <BitField name="BK2CMP2E" description="BRK2 COMP2 enable" start="2" size="1" />
      <BitField name="BK2CMP1E" description="BRK2 COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="DCR" description="control register" start="+0x3DC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DBL" description="DMA burst length" start="8" size="5" />
      <BitField name="DBA" description="DMA base address" start="0" size="5" />
    </Register>
    <Register name="DMAR" description="DMA address for full transfer" start="+0x3E0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAB" description="DMA register for burst accesses" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM3" description="Advanced-timers" start="0x40000400">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DITHEN" description="Dithering Enable" start="12" size="1" />
      <BitField name="UIFREMAP" description="UIF status bit remapping" start="11" size="1" />
      <BitField name="CKD" description="Clock division" start="8" size="2" />
      <BitField name="ARPE" description="Auto-reload preload enable" start="7" size="1" />
      <BitField name="CMS" description="Center-aligned mode selection" start="5" size="2" />
      <BitField name="DIR" description="Direction" start="4" size="1" />
      <BitField name="OPM" description="One-pulse mode" start="3" size="1" />
      <BitField name="URS" description="Update request source" start="2" size="1" />
      <BitField name="UDIS" description="Update disable" start="1" size="1" />
      <BitField name="CEN" description="Counter enable" start="0" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MMS_3" description="Master mode selection - bit 3" start="25" size="1" />
      <BitField name="MMS2" description="Master mode selection 2" start="20" size="4" />
      <BitField name="OIS6" description="Output Idle state 6 (OC6 output)" start="18" size="1" />
      <BitField name="OIS5" description="Output Idle state 5 (OC5 output)" start="16" size="1" />
      <BitField name="OIS4N" description="Output Idle state 4 (OC4N output)" start="15" size="1" />
      <BitField name="OIS4" description="Output Idle state 4" start="14" size="1" />
      <BitField name="OIS3N" description="Output Idle state 3" start="13" size="1" />
      <BitField name="OIS3" description="Output Idle state 3" start="12" size="1" />
      <BitField name="OIS2N" description="Output Idle state 2" start="11" size="1" />
      <BitField name="OIS2" description="Output Idle state 2" start="10" size="1" />
      <BitField name="OIS1N" description="Output Idle state 1" start="9" size="1" />
      <BitField name="OIS1" description="Output Idle state 1" start="8" size="1" />
      <BitField name="TI1S" description="TI1 selection" start="7" size="1" />
      <BitField name="MMS" description="Master mode selection" start="4" size="3" />
      <BitField name="CCDS" description="Capture/compare DMA selection" start="3" size="1" />
      <BitField name="CCUS" description="Capture/compare control update selection" start="2" size="1" />
      <BitField name="CCPC" description="Capture/compare preloaded control" start="0" size="1" />
    </Register>
    <Register name="SMCR" description="slave mode control register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMSPS" description="SMS Preload Source" start="25" size="1" />
      <BitField name="SMSPE" description="SMS Preload Enable" start="24" size="1" />
      <BitField name="TS_4_3" description="Trigger selection - bit 4:3" start="20" size="2" />
      <BitField name="SMS_3" description="Slave mode selection - bit 3" start="16" size="1" />
      <BitField name="ETP" description="External trigger polarity" start="15" size="1" />
      <BitField name="ECE" description="External clock enable" start="14" size="1" />
      <BitField name="ETPS" description="External trigger prescaler" start="12" size="2" />
      <BitField name="ETF" description="External trigger filter" start="8" size="4" />
      <BitField name="MSM" description="Master/Slave mode" start="7" size="1" />
      <BitField name="TS" description="Trigger selection" start="4" size="3" />
      <BitField name="OCCS" description="OCREF clear selection" start="3" size="1" />
      <BitField name="SMS" description="Slave mode selection" start="0" size="3" />
    </Register>
    <Register name="DIER" description="DMA/Interrupt enable register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TERRIE" description="Transition Error interrupt enable" start="23" size="1" />
      <BitField name="IERRIE" description="Index Error interrupt enable" start="22" size="1" />
      <BitField name="DIRIE" description="Direction Change interrupt enable" start="21" size="1" />
      <BitField name="IDXIE" description="Index interrupt enable" start="20" size="1" />
      <BitField name="TDE" description="Trigger DMA request enable" start="14" size="1" />
      <BitField name="COMDE" description="COM DMA request enable" start="13" size="1" />
      <BitField name="CC4DE" description="Capture/Compare 4 DMA request enable" start="12" size="1" />
      <BitField name="CC3DE" description="Capture/Compare 3 DMA request enable" start="11" size="1" />
      <BitField name="CC2DE" description="Capture/Compare 2 DMA request enable" start="10" size="1" />
      <BitField name="CC1DE" description="Capture/Compare 1 DMA request enable" start="9" size="1" />
      <BitField name="UDE" description="Update DMA request enable" start="8" size="1" />
      <BitField name="TIE" description="Trigger interrupt enable" start="6" size="1" />
      <BitField name="CC4IE" description="Capture/Compare 4 interrupt enable" start="4" size="1" />
      <BitField name="CC3IE" description="Capture/Compare 3 interrupt enable" start="3" size="1" />
      <BitField name="CC2IE" description="Capture/Compare 2 interrupt enable" start="2" size="1" />
      <BitField name="CC1IE" description="Capture/Compare 1 interrupt enable" start="1" size="1" />
      <BitField name="UIE" description="Update interrupt enable" start="0" size="1" />
      <BitField name="BIE" description="Break interrupt enable" start="7" size="1" />
      <BitField name="COMIE" description="COM interrupt enable" start="5" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TERRF" description="Transition Error interrupt flag" start="23" size="1" />
      <BitField name="IERRF" description="Index Error interrupt flag" start="22" size="1" />
      <BitField name="DIRF" description="Direction Change interrupt flag" start="21" size="1" />
      <BitField name="IDXF" description="Index interrupt flag" start="20" size="1" />
      <BitField name="CC6IF" description="Compare 6 interrupt flag" start="17" size="1" />
      <BitField name="CC5IF" description="Compare 5 interrupt flag" start="16" size="1" />
      <BitField name="SBIF" description="System Break interrupt flag" start="13" size="1" />
      <BitField name="CC4OF" description="Capture/Compare 4 overcapture flag" start="12" size="1" />
      <BitField name="CC3OF" description="Capture/Compare 3 overcapture flag" start="11" size="1" />
      <BitField name="CC2OF" description="Capture/compare 2 overcapture flag" start="10" size="1" />
      <BitField name="CC1OF" description="Capture/Compare 1 overcapture flag" start="9" size="1" />
      <BitField name="B2IF" description="Break 2 interrupt flag" start="8" size="1" />
      <BitField name="BIF" description="Break interrupt flag" start="7" size="1" />
      <BitField name="TIF" description="Trigger interrupt flag" start="6" size="1" />
      <BitField name="COMIF" description="COM interrupt flag" start="5" size="1" />
      <BitField name="CC4IF" description="Capture/Compare 4 interrupt flag" start="4" size="1" />
      <BitField name="CC3IF" description="Capture/Compare 3 interrupt flag" start="3" size="1" />
      <BitField name="CC2IF" description="Capture/Compare 2 interrupt flag" start="2" size="1" />
      <BitField name="CC1IF" description="Capture/compare 1 interrupt flag" start="1" size="1" />
      <BitField name="UIF" description="Update interrupt flag" start="0" size="1" />
    </Register>
    <Register name="EGR" description="event generation register" start="+0x14" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="B2G" description="Break 2 generation" start="8" size="1" />
      <BitField name="BG" description="Break generation" start="7" size="1" />
      <BitField name="TG" description="Trigger generation" start="6" size="1" />
      <BitField name="COMG" description="Capture/Compare control update generation" start="5" size="1" />
      <BitField name="CC4G" description="Capture/compare 4 generation" start="4" size="1" />
      <BitField name="CC3G" description="Capture/compare 3 generation" start="3" size="1" />
      <BitField name="CC2G" description="Capture/compare 2 generation" start="2" size="1" />
      <BitField name="CC1G" description="Capture/compare 1 generation" start="1" size="1" />
      <BitField name="UG" description="Update generation" start="0" size="1" />
    </Register>
    <Register name="CCMR1_Output" description="capture/compare mode register 1 (output mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC2M_3" description="Output Compare 2 mode - bit 3" start="24" size="1" />
      <BitField name="OC1M_3" description="Output Compare 1 mode - bit 3" start="16" size="1" />
      <BitField name="OC2CE" description="Output Compare 2 clear enable" start="15" size="1" />
      <BitField name="OC2M" description="Output Compare 2 mode" start="12" size="3" />
      <BitField name="OC2PE" description="Output Compare 2 preload enable" start="11" size="1" />
      <BitField name="OC2FE" description="Output Compare 2 fast enable" start="10" size="1" />
      <BitField name="CC2S" description="Capture/Compare 2 selection" start="8" size="2" />
      <BitField name="OC1CE" description="Output Compare 1 clear enable" start="7" size="1" />
      <BitField name="OC1M" description="Output Compare 1 mode" start="4" size="3" />
      <BitField name="OC1PE" description="Output Compare 1 preload enable" start="3" size="1" />
      <BitField name="OC1FE" description="Output Compare 1 fast enable" start="2" size="1" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR1_Input" description="capture/compare mode register 1 (input mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC2F" description="Input capture 2 filter" start="12" size="4" />
      <BitField name="IC2PSC" description="Input capture 2 prescaler" start="10" size="2" />
      <BitField name="CC2S" description="Capture/Compare 2 selection" start="8" size="2" />
      <BitField name="IC1F" description="Input capture 1 filter" start="4" size="4" />
      <BitField name="ICPCS" description="Input capture 1 prescaler" start="2" size="2" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR2_Output" description="capture/compare mode register 2 (output mode)" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC4M_3" description="Output Compare 4 mode - bit 3" start="24" size="1" />
      <BitField name="OC3M_3" description="Output Compare 3 mode - bit 3" start="16" size="1" />
      <BitField name="OC4CE" description="Output compare 4 clear enable" start="15" size="1" />
      <BitField name="OC4M" description="Output compare 4 mode" start="12" size="3" />
      <BitField name="OC4PE" description="Output compare 4 preload enable" start="11" size="1" />
      <BitField name="OC4FE" description="Output compare 4 fast enable" start="10" size="1" />
      <BitField name="CC4S" description="Capture/Compare 4 selection" start="8" size="2" />
      <BitField name="OC3CE" description="Output compare 3 clear enable" start="7" size="1" />
      <BitField name="OC3M" description="Output compare 3 mode" start="4" size="3" />
      <BitField name="OC3PE" description="Output compare 3 preload enable" start="3" size="1" />
      <BitField name="OC3FE" description="Output compare 3 fast enable" start="2" size="1" />
      <BitField name="CC3S" description="Capture/Compare 3 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR2_Input" description="capture/compare mode register 2 (input mode)" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC4F" description="Input capture 4 filter" start="12" size="4" />
      <BitField name="IC4PSC" description="Input capture 4 prescaler" start="10" size="2" />
      <BitField name="CC4S" description="Capture/Compare 4 selection" start="8" size="2" />
      <BitField name="IC3F" description="Input capture 3 filter" start="4" size="4" />
      <BitField name="IC3PSC" description="Input capture 3 prescaler" start="2" size="2" />
      <BitField name="CC3S" description="Capture/compare 3 selection" start="0" size="2" />
    </Register>
    <Register name="CCER" description="capture/compare enable register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CC6P" description="Capture/Compare 6 output polarity" start="21" size="1" />
      <BitField name="CC6E" description="Capture/Compare 6 output enable" start="20" size="1" />
      <BitField name="CC5P" description="Capture/Compare 5 output polarity" start="17" size="1" />
      <BitField name="CC5E" description="Capture/Compare 5 output enable" start="16" size="1" />
      <BitField name="CC4NP" description="Capture/Compare 4 complementary output polarity" start="15" size="1" />
      <BitField name="CC4NE" description="Capture/Compare 4 complementary output enable" start="14" size="1" />
      <BitField name="CC4P" description="Capture/Compare 3 output Polarity" start="13" size="1" />
      <BitField name="CC4E" description="Capture/Compare 4 output enable" start="12" size="1" />
      <BitField name="CC3NP" description="Capture/Compare 3 output Polarity" start="11" size="1" />
      <BitField name="CC3NE" description="Capture/Compare 3 complementary output enable" start="10" size="1" />
      <BitField name="CC3P" description="Capture/Compare 3 output Polarity" start="9" size="1" />
      <BitField name="CC3E" description="Capture/Compare 3 output enable" start="8" size="1" />
      <BitField name="CC2NP" description="Capture/Compare 2 output Polarity" start="7" size="1" />
      <BitField name="CC2NE" description="Capture/Compare 2 complementary output enable" start="6" size="1" />
      <BitField name="CC2P" description="Capture/Compare 2 output Polarity" start="5" size="1" />
      <BitField name="CC2E" description="Capture/Compare 2 output enable" start="4" size="1" />
      <BitField name="CC1NP" description="Capture/Compare 1 output Polarity" start="3" size="1" />
      <BitField name="CC1NE" description="Capture/Compare 1 complementary output enable" start="2" size="1" />
      <BitField name="CC1P" description="Capture/Compare 1 output Polarity" start="1" size="1" />
      <BitField name="CC1E" description="Capture/Compare 1 output enable" start="0" size="1" />
    </Register>
    <Register name="CNT" description="counter" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="UIFCPY" description="UIFCPY" start="31" size="1" />
      <BitField name="CNT" description="counter value" start="0" size="16" />
    </Register>
    <Register name="PSC" description="prescaler" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PSC" description="Prescaler value" start="0" size="16" />
    </Register>
    <Register name="ARR" description="auto-reload register" start="+0x2C" size="4" access="Read/Write" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="ARR" description="Auto-reload value" start="0" size="16" />
    </Register>
    <Register name="RCR" description="repetition counter register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="REP" description="Repetition counter value" start="0" size="16" />
    </Register>
    <Register name="CCR1" description="capture/compare register 1" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR1" description="Capture/Compare 1 value" start="0" size="16" />
    </Register>
    <Register name="CCR2" description="capture/compare register 2" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR2" description="Capture/Compare 2 value" start="0" size="16" />
    </Register>
    <Register name="CCR3" description="capture/compare register 3" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR3" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="CCR4" description="capture/compare register 4" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR4" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="BDTR" description="break and dead-time register" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BK2ID" description="BK2ID" start="29" size="1" />
      <BitField name="BKBID" description="BKBID" start="28" size="1" />
      <BitField name="BK2DSRM" description="BK2DSRM" start="27" size="1" />
      <BitField name="BKDSRM" description="BKDSRM" start="26" size="1" />
      <BitField name="BK2P" description="Break 2 polarity" start="25" size="1" />
      <BitField name="BK2E" description="Break 2 Enable" start="24" size="1" />
      <BitField name="BK2F" description="Break 2 filter" start="20" size="4" />
      <BitField name="BKF" description="Break filter" start="16" size="4" />
      <BitField name="MOE" description="Main output enable" start="15" size="1" />
      <BitField name="AOE" description="Automatic output enable" start="14" size="1" />
      <BitField name="BKP" description="Break polarity" start="13" size="1" />
      <BitField name="BKE" description="Break enable" start="12" size="1" />
      <BitField name="OSSR" description="Off-state selection for Run mode" start="11" size="1" />
      <BitField name="OSSI" description="Off-state selection for Idle mode" start="10" size="1" />
      <BitField name="LOCK" description="Lock configuration" start="8" size="2" />
      <BitField name="DTG" description="Dead-time generator setup" start="0" size="8" />
    </Register>
    <Register name="CCR5" description="capture/compare register 4" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR5" description="Capture/Compare value" start="0" size="16" />
      <BitField name="GC5C1" description="Group Channel 5 and Channel 1" start="29" size="1" />
      <BitField name="GC5C2" description="Group Channel 5 and Channel 2" start="30" size="1" />
      <BitField name="GC5C3" description="Group Channel 5 and Channel 3" start="31" size="1" />
    </Register>
    <Register name="CCR6" description="capture/compare register 4" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR6" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="CCMR3_Output" description="capture/compare mode register 2 (output mode)" start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC6M_bit3" description="Output Compare 6 mode bit 3" start="24" size="1" />
      <BitField name="OC5M_bit3" description="Output Compare 5 mode bit 3" start="16" size="3" />
      <BitField name="OC6CE" description="Output compare 6 clear enable" start="15" size="1" />
      <BitField name="OC6M" description="Output compare 6 mode" start="12" size="3" />
      <BitField name="OC6PE" description="Output compare 6 preload enable" start="11" size="1" />
      <BitField name="OC6FE" description="Output compare 6 fast enable" start="10" size="1" />
      <BitField name="OC5CE" description="Output compare 5 clear enable" start="7" size="1" />
      <BitField name="OC5M" description="Output compare 5 mode" start="4" size="3" />
      <BitField name="OC5PE" description="Output compare 5 preload enable" start="3" size="1" />
      <BitField name="OC5FE" description="Output compare 5 fast enable" start="2" size="1" />
    </Register>
    <Register name="DTR2" description="timer Deadtime Register 2" start="+0x54" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DTPE" description="Deadtime Preload Enable" start="17" size="1" />
      <BitField name="DTAE" description="Deadtime Asymmetric Enable" start="16" size="1" />
      <BitField name="DTGF" description="Dead-time falling edge generator setup" start="0" size="8" />
    </Register>
    <Register name="ECR" description="DMA control register" start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IE" description="Index Enable" start="0" size="1" />
      <BitField name="IDIR" description="Index Direction" start="1" size="2" />
      <BitField name="IBLK" description="Index Blanking" start="3" size="2" />
      <BitField name="FIDX" description="First Index" start="5" size="1" />
      <BitField name="IPOS" description="Index Positioning" start="6" size="2" />
      <BitField name="PW" description="Pulse width" start="16" size="8" />
      <BitField name="PWPRSC" description="Pulse Width prescaler" start="24" size="3" />
    </Register>
    <Register name="TISEL" description="TIM timer input selection register" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TI1SEL" description="TI1[0] to TI1[15] input selection" start="0" size="4" />
      <BitField name="TI2SEL" description="TI2[0] to TI2[15] input selection" start="8" size="4" />
      <BitField name="TI3SEL" description="TI3[0] to TI3[15] input selection" start="16" size="4" />
      <BitField name="TI4SEL" description="TI4[0] to TI4[15] input selection" start="24" size="4" />
    </Register>
    <Register name="AF1" description="TIM alternate function option register 1" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ETRSEL" description="ETR source selection" start="14" size="4" />
      <BitField name="BKCMP4P" description="BRK COMP4 input polarity" start="13" size="1" />
      <BitField name="BKCMP3P" description="BRK COMP3 input polarity" start="12" size="1" />
      <BitField name="BKCMP2P" description="BRK COMP2 input polarity" start="11" size="1" />
      <BitField name="BKCMP1P" description="BRK COMP1 input polarity" start="10" size="1" />
      <BitField name="BKINP" description="BRK BKIN input polarity" start="9" size="1" />
      <BitField name="BKCMP7E" description="BRK COMP7 enable" start="7" size="1" />
      <BitField name="BKCMP6E" description="BRK COMP6 enable" start="6" size="1" />
      <BitField name="BKCMP5E" description="BRK COMP5 enable" start="5" size="1" />
      <BitField name="BKCMP4E" description="BRK COMP4 enable" start="4" size="1" />
      <BitField name="BKCMP3E" description="BRK COMP3 enable" start="3" size="1" />
      <BitField name="BKCMP2E" description="BRK COMP2 enable" start="2" size="1" />
      <BitField name="BKCMP1E" description="BRK COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="AF2" description="TIM alternate function option register 2" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OCRSEL" description="OCREF_CLR source selection" start="16" size="3" />
      <BitField name="BK2CMP4P" description="BRK2 COMP4 input polarity" start="13" size="1" />
      <BitField name="BK2CMP3P" description="BRK2 COMP3 input polarity" start="12" size="1" />
      <BitField name="BK2CMP2P" description="BRK2 COMP2 input polarity" start="11" size="1" />
      <BitField name="BK2CMP1P" description="BRK2 COMP1 input polarity" start="10" size="1" />
      <BitField name="BK2INP" description="BRK2 BKIN input polarity" start="9" size="1" />
      <BitField name="BK2CMP7E" description="BRK2 COMP7 enable" start="7" size="1" />
      <BitField name="BK2CMP6E" description="BRK2 COMP6 enable" start="6" size="1" />
      <BitField name="BK2CMP5E" description="BRK2 COMP5 enable" start="5" size="1" />
      <BitField name="BK2CMP4E" description="BRK2 COMP4 enable" start="4" size="1" />
      <BitField name="BK2CMP3E" description="BRK2 COMP3 enable" start="3" size="1" />
      <BitField name="BK2CMP2E" description="BRK2 COMP2 enable" start="2" size="1" />
      <BitField name="BK2CMP1E" description="BRK2 COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="DCR" description="control register" start="+0x3DC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DBL" description="DMA burst length" start="8" size="5" />
      <BitField name="DBA" description="DMA base address" start="0" size="5" />
    </Register>
    <Register name="DMAR" description="DMA address for full transfer" start="+0x3E0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAB" description="DMA register for burst accesses" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM4" description="Advanced-timers" start="0x40000800">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DITHEN" description="Dithering Enable" start="12" size="1" />
      <BitField name="UIFREMAP" description="UIF status bit remapping" start="11" size="1" />
      <BitField name="CKD" description="Clock division" start="8" size="2" />
      <BitField name="ARPE" description="Auto-reload preload enable" start="7" size="1" />
      <BitField name="CMS" description="Center-aligned mode selection" start="5" size="2" />
      <BitField name="DIR" description="Direction" start="4" size="1" />
      <BitField name="OPM" description="One-pulse mode" start="3" size="1" />
      <BitField name="URS" description="Update request source" start="2" size="1" />
      <BitField name="UDIS" description="Update disable" start="1" size="1" />
      <BitField name="CEN" description="Counter enable" start="0" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MMS_3" description="Master mode selection - bit 3" start="25" size="1" />
      <BitField name="MMS2" description="Master mode selection 2" start="20" size="4" />
      <BitField name="OIS6" description="Output Idle state 6 (OC6 output)" start="18" size="1" />
      <BitField name="OIS5" description="Output Idle state 5 (OC5 output)" start="16" size="1" />
      <BitField name="OIS4N" description="Output Idle state 4 (OC4N output)" start="15" size="1" />
      <BitField name="OIS4" description="Output Idle state 4" start="14" size="1" />
      <BitField name="OIS3N" description="Output Idle state 3" start="13" size="1" />
      <BitField name="OIS3" description="Output Idle state 3" start="12" size="1" />
      <BitField name="OIS2N" description="Output Idle state 2" start="11" size="1" />
      <BitField name="OIS2" description="Output Idle state 2" start="10" size="1" />
      <BitField name="OIS1N" description="Output Idle state 1" start="9" size="1" />
      <BitField name="OIS1" description="Output Idle state 1" start="8" size="1" />
      <BitField name="TI1S" description="TI1 selection" start="7" size="1" />
      <BitField name="MMS" description="Master mode selection" start="4" size="3" />
      <BitField name="CCDS" description="Capture/compare DMA selection" start="3" size="1" />
      <BitField name="CCUS" description="Capture/compare control update selection" start="2" size="1" />
      <BitField name="CCPC" description="Capture/compare preloaded control" start="0" size="1" />
    </Register>
    <Register name="SMCR" description="slave mode control register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMSPS" description="SMS Preload Source" start="25" size="1" />
      <BitField name="SMSPE" description="SMS Preload Enable" start="24" size="1" />
      <BitField name="TS_4_3" description="Trigger selection - bit 4:3" start="20" size="2" />
      <BitField name="SMS_3" description="Slave mode selection - bit 3" start="16" size="1" />
      <BitField name="ETP" description="External trigger polarity" start="15" size="1" />
      <BitField name="ECE" description="External clock enable" start="14" size="1" />
      <BitField name="ETPS" description="External trigger prescaler" start="12" size="2" />
      <BitField name="ETF" description="External trigger filter" start="8" size="4" />
      <BitField name="MSM" description="Master/Slave mode" start="7" size="1" />
      <BitField name="TS" description="Trigger selection" start="4" size="3" />
      <BitField name="OCCS" description="OCREF clear selection" start="3" size="1" />
      <BitField name="SMS" description="Slave mode selection" start="0" size="3" />
    </Register>
    <Register name="DIER" description="DMA/Interrupt enable register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TERRIE" description="Transition Error interrupt enable" start="23" size="1" />
      <BitField name="IERRIE" description="Index Error interrupt enable" start="22" size="1" />
      <BitField name="DIRIE" description="Direction Change interrupt enable" start="21" size="1" />
      <BitField name="IDXIE" description="Index interrupt enable" start="20" size="1" />
      <BitField name="TDE" description="Trigger DMA request enable" start="14" size="1" />
      <BitField name="COMDE" description="COM DMA request enable" start="13" size="1" />
      <BitField name="CC4DE" description="Capture/Compare 4 DMA request enable" start="12" size="1" />
      <BitField name="CC3DE" description="Capture/Compare 3 DMA request enable" start="11" size="1" />
      <BitField name="CC2DE" description="Capture/Compare 2 DMA request enable" start="10" size="1" />
      <BitField name="CC1DE" description="Capture/Compare 1 DMA request enable" start="9" size="1" />
      <BitField name="UDE" description="Update DMA request enable" start="8" size="1" />
      <BitField name="TIE" description="Trigger interrupt enable" start="6" size="1" />
      <BitField name="CC4IE" description="Capture/Compare 4 interrupt enable" start="4" size="1" />
      <BitField name="CC3IE" description="Capture/Compare 3 interrupt enable" start="3" size="1" />
      <BitField name="CC2IE" description="Capture/Compare 2 interrupt enable" start="2" size="1" />
      <BitField name="CC1IE" description="Capture/Compare 1 interrupt enable" start="1" size="1" />
      <BitField name="UIE" description="Update interrupt enable" start="0" size="1" />
      <BitField name="BIE" description="Break interrupt enable" start="7" size="1" />
      <BitField name="COMIE" description="COM interrupt enable" start="5" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TERRF" description="Transition Error interrupt flag" start="23" size="1" />
      <BitField name="IERRF" description="Index Error interrupt flag" start="22" size="1" />
      <BitField name="DIRF" description="Direction Change interrupt flag" start="21" size="1" />
      <BitField name="IDXF" description="Index interrupt flag" start="20" size="1" />
      <BitField name="CC6IF" description="Compare 6 interrupt flag" start="17" size="1" />
      <BitField name="CC5IF" description="Compare 5 interrupt flag" start="16" size="1" />
      <BitField name="SBIF" description="System Break interrupt flag" start="13" size="1" />
      <BitField name="CC4OF" description="Capture/Compare 4 overcapture flag" start="12" size="1" />
      <BitField name="CC3OF" description="Capture/Compare 3 overcapture flag" start="11" size="1" />
      <BitField name="CC2OF" description="Capture/compare 2 overcapture flag" start="10" size="1" />
      <BitField name="CC1OF" description="Capture/Compare 1 overcapture flag" start="9" size="1" />
      <BitField name="B2IF" description="Break 2 interrupt flag" start="8" size="1" />
      <BitField name="BIF" description="Break interrupt flag" start="7" size="1" />
      <BitField name="TIF" description="Trigger interrupt flag" start="6" size="1" />
      <BitField name="COMIF" description="COM interrupt flag" start="5" size="1" />
      <BitField name="CC4IF" description="Capture/Compare 4 interrupt flag" start="4" size="1" />
      <BitField name="CC3IF" description="Capture/Compare 3 interrupt flag" start="3" size="1" />
      <BitField name="CC2IF" description="Capture/Compare 2 interrupt flag" start="2" size="1" />
      <BitField name="CC1IF" description="Capture/compare 1 interrupt flag" start="1" size="1" />
      <BitField name="UIF" description="Update interrupt flag" start="0" size="1" />
    </Register>
    <Register name="EGR" description="event generation register" start="+0x14" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="B2G" description="Break 2 generation" start="8" size="1" />
      <BitField name="BG" description="Break generation" start="7" size="1" />
      <BitField name="TG" description="Trigger generation" start="6" size="1" />
      <BitField name="COMG" description="Capture/Compare control update generation" start="5" size="1" />
      <BitField name="CC4G" description="Capture/compare 4 generation" start="4" size="1" />
      <BitField name="CC3G" description="Capture/compare 3 generation" start="3" size="1" />
      <BitField name="CC2G" description="Capture/compare 2 generation" start="2" size="1" />
      <BitField name="CC1G" description="Capture/compare 1 generation" start="1" size="1" />
      <BitField name="UG" description="Update generation" start="0" size="1" />
    </Register>
    <Register name="CCMR1_Output" description="capture/compare mode register 1 (output mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC2M_3" description="Output Compare 2 mode - bit 3" start="24" size="1" />
      <BitField name="OC1M_3" description="Output Compare 1 mode - bit 3" start="16" size="1" />
      <BitField name="OC2CE" description="Output Compare 2 clear enable" start="15" size="1" />
      <BitField name="OC2M" description="Output Compare 2 mode" start="12" size="3" />
      <BitField name="OC2PE" description="Output Compare 2 preload enable" start="11" size="1" />
      <BitField name="OC2FE" description="Output Compare 2 fast enable" start="10" size="1" />
      <BitField name="CC2S" description="Capture/Compare 2 selection" start="8" size="2" />
      <BitField name="OC1CE" description="Output Compare 1 clear enable" start="7" size="1" />
      <BitField name="OC1M" description="Output Compare 1 mode" start="4" size="3" />
      <BitField name="OC1PE" description="Output Compare 1 preload enable" start="3" size="1" />
      <BitField name="OC1FE" description="Output Compare 1 fast enable" start="2" size="1" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR1_Input" description="capture/compare mode register 1 (input mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC2F" description="Input capture 2 filter" start="12" size="4" />
      <BitField name="IC2PSC" description="Input capture 2 prescaler" start="10" size="2" />
      <BitField name="CC2S" description="Capture/Compare 2 selection" start="8" size="2" />
      <BitField name="IC1F" description="Input capture 1 filter" start="4" size="4" />
      <BitField name="ICPCS" description="Input capture 1 prescaler" start="2" size="2" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR2_Output" description="capture/compare mode register 2 (output mode)" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC4M_3" description="Output Compare 4 mode - bit 3" start="24" size="1" />
      <BitField name="OC3M_3" description="Output Compare 3 mode - bit 3" start="16" size="1" />
      <BitField name="OC4CE" description="Output compare 4 clear enable" start="15" size="1" />
      <BitField name="OC4M" description="Output compare 4 mode" start="12" size="3" />
      <BitField name="OC4PE" description="Output compare 4 preload enable" start="11" size="1" />
      <BitField name="OC4FE" description="Output compare 4 fast enable" start="10" size="1" />
      <BitField name="CC4S" description="Capture/Compare 4 selection" start="8" size="2" />
      <BitField name="OC3CE" description="Output compare 3 clear enable" start="7" size="1" />
      <BitField name="OC3M" description="Output compare 3 mode" start="4" size="3" />
      <BitField name="OC3PE" description="Output compare 3 preload enable" start="3" size="1" />
      <BitField name="OC3FE" description="Output compare 3 fast enable" start="2" size="1" />
      <BitField name="CC3S" description="Capture/Compare 3 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR2_Input" description="capture/compare mode register 2 (input mode)" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC4F" description="Input capture 4 filter" start="12" size="4" />
      <BitField name="IC4PSC" description="Input capture 4 prescaler" start="10" size="2" />
      <BitField name="CC4S" description="Capture/Compare 4 selection" start="8" size="2" />
      <BitField name="IC3F" description="Input capture 3 filter" start="4" size="4" />
      <BitField name="IC3PSC" description="Input capture 3 prescaler" start="2" size="2" />
      <BitField name="CC3S" description="Capture/compare 3 selection" start="0" size="2" />
    </Register>
    <Register name="CCER" description="capture/compare enable register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CC6P" description="Capture/Compare 6 output polarity" start="21" size="1" />
      <BitField name="CC6E" description="Capture/Compare 6 output enable" start="20" size="1" />
      <BitField name="CC5P" description="Capture/Compare 5 output polarity" start="17" size="1" />
      <BitField name="CC5E" description="Capture/Compare 5 output enable" start="16" size="1" />
      <BitField name="CC4NP" description="Capture/Compare 4 complementary output polarity" start="15" size="1" />
      <BitField name="CC4NE" description="Capture/Compare 4 complementary output enable" start="14" size="1" />
      <BitField name="CC4P" description="Capture/Compare 3 output Polarity" start="13" size="1" />
      <BitField name="CC4E" description="Capture/Compare 4 output enable" start="12" size="1" />
      <BitField name="CC3NP" description="Capture/Compare 3 output Polarity" start="11" size="1" />
      <BitField name="CC3NE" description="Capture/Compare 3 complementary output enable" start="10" size="1" />
      <BitField name="CC3P" description="Capture/Compare 3 output Polarity" start="9" size="1" />
      <BitField name="CC3E" description="Capture/Compare 3 output enable" start="8" size="1" />
      <BitField name="CC2NP" description="Capture/Compare 2 output Polarity" start="7" size="1" />
      <BitField name="CC2NE" description="Capture/Compare 2 complementary output enable" start="6" size="1" />
      <BitField name="CC2P" description="Capture/Compare 2 output Polarity" start="5" size="1" />
      <BitField name="CC2E" description="Capture/Compare 2 output enable" start="4" size="1" />
      <BitField name="CC1NP" description="Capture/Compare 1 output Polarity" start="3" size="1" />
      <BitField name="CC1NE" description="Capture/Compare 1 complementary output enable" start="2" size="1" />
      <BitField name="CC1P" description="Capture/Compare 1 output Polarity" start="1" size="1" />
      <BitField name="CC1E" description="Capture/Compare 1 output enable" start="0" size="1" />
    </Register>
    <Register name="CNT" description="counter" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="UIFCPY" description="UIFCPY" start="31" size="1" />
      <BitField name="CNT" description="counter value" start="0" size="16" />
    </Register>
    <Register name="PSC" description="prescaler" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PSC" description="Prescaler value" start="0" size="16" />
    </Register>
    <Register name="ARR" description="auto-reload register" start="+0x2C" size="4" access="Read/Write" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="ARR" description="Auto-reload value" start="0" size="16" />
    </Register>
    <Register name="RCR" description="repetition counter register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="REP" description="Repetition counter value" start="0" size="16" />
    </Register>
    <Register name="CCR1" description="capture/compare register 1" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR1" description="Capture/Compare 1 value" start="0" size="16" />
    </Register>
    <Register name="CCR2" description="capture/compare register 2" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR2" description="Capture/Compare 2 value" start="0" size="16" />
    </Register>
    <Register name="CCR3" description="capture/compare register 3" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR3" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="CCR4" description="capture/compare register 4" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR4" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="BDTR" description="break and dead-time register" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BK2ID" description="BK2ID" start="29" size="1" />
      <BitField name="BKBID" description="BKBID" start="28" size="1" />
      <BitField name="BK2DSRM" description="BK2DSRM" start="27" size="1" />
      <BitField name="BKDSRM" description="BKDSRM" start="26" size="1" />
      <BitField name="BK2P" description="Break 2 polarity" start="25" size="1" />
      <BitField name="BK2E" description="Break 2 Enable" start="24" size="1" />
      <BitField name="BK2F" description="Break 2 filter" start="20" size="4" />
      <BitField name="BKF" description="Break filter" start="16" size="4" />
      <BitField name="MOE" description="Main output enable" start="15" size="1" />
      <BitField name="AOE" description="Automatic output enable" start="14" size="1" />
      <BitField name="BKP" description="Break polarity" start="13" size="1" />
      <BitField name="BKE" description="Break enable" start="12" size="1" />
      <BitField name="OSSR" description="Off-state selection for Run mode" start="11" size="1" />
      <BitField name="OSSI" description="Off-state selection for Idle mode" start="10" size="1" />
      <BitField name="LOCK" description="Lock configuration" start="8" size="2" />
      <BitField name="DTG" description="Dead-time generator setup" start="0" size="8" />
    </Register>
    <Register name="CCR5" description="capture/compare register 4" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR5" description="Capture/Compare value" start="0" size="16" />
      <BitField name="GC5C1" description="Group Channel 5 and Channel 1" start="29" size="1" />
      <BitField name="GC5C2" description="Group Channel 5 and Channel 2" start="30" size="1" />
      <BitField name="GC5C3" description="Group Channel 5 and Channel 3" start="31" size="1" />
    </Register>
    <Register name="CCR6" description="capture/compare register 4" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR6" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="CCMR3_Output" description="capture/compare mode register 2 (output mode)" start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC6M_bit3" description="Output Compare 6 mode bit 3" start="24" size="1" />
      <BitField name="OC5M_bit3" description="Output Compare 5 mode bit 3" start="16" size="3" />
      <BitField name="OC6CE" description="Output compare 6 clear enable" start="15" size="1" />
      <BitField name="OC6M" description="Output compare 6 mode" start="12" size="3" />
      <BitField name="OC6PE" description="Output compare 6 preload enable" start="11" size="1" />
      <BitField name="OC6FE" description="Output compare 6 fast enable" start="10" size="1" />
      <BitField name="OC5CE" description="Output compare 5 clear enable" start="7" size="1" />
      <BitField name="OC5M" description="Output compare 5 mode" start="4" size="3" />
      <BitField name="OC5PE" description="Output compare 5 preload enable" start="3" size="1" />
      <BitField name="OC5FE" description="Output compare 5 fast enable" start="2" size="1" />
    </Register>
    <Register name="DTR2" description="timer Deadtime Register 2" start="+0x54" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DTPE" description="Deadtime Preload Enable" start="17" size="1" />
      <BitField name="DTAE" description="Deadtime Asymmetric Enable" start="16" size="1" />
      <BitField name="DTGF" description="Dead-time falling edge generator setup" start="0" size="8" />
    </Register>
    <Register name="ECR" description="DMA control register" start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IE" description="Index Enable" start="0" size="1" />
      <BitField name="IDIR" description="Index Direction" start="1" size="2" />
      <BitField name="IBLK" description="Index Blanking" start="3" size="2" />
      <BitField name="FIDX" description="First Index" start="5" size="1" />
      <BitField name="IPOS" description="Index Positioning" start="6" size="2" />
      <BitField name="PW" description="Pulse width" start="16" size="8" />
      <BitField name="PWPRSC" description="Pulse Width prescaler" start="24" size="3" />
    </Register>
    <Register name="TISEL" description="TIM timer input selection register" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TI1SEL" description="TI1[0] to TI1[15] input selection" start="0" size="4" />
      <BitField name="TI2SEL" description="TI2[0] to TI2[15] input selection" start="8" size="4" />
      <BitField name="TI3SEL" description="TI3[0] to TI3[15] input selection" start="16" size="4" />
      <BitField name="TI4SEL" description="TI4[0] to TI4[15] input selection" start="24" size="4" />
    </Register>
    <Register name="AF1" description="TIM alternate function option register 1" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ETRSEL" description="ETR source selection" start="14" size="4" />
      <BitField name="BKCMP4P" description="BRK COMP4 input polarity" start="13" size="1" />
      <BitField name="BKCMP3P" description="BRK COMP3 input polarity" start="12" size="1" />
      <BitField name="BKCMP2P" description="BRK COMP2 input polarity" start="11" size="1" />
      <BitField name="BKCMP1P" description="BRK COMP1 input polarity" start="10" size="1" />
      <BitField name="BKINP" description="BRK BKIN input polarity" start="9" size="1" />
      <BitField name="BKCMP7E" description="BRK COMP7 enable" start="7" size="1" />
      <BitField name="BKCMP6E" description="BRK COMP6 enable" start="6" size="1" />
      <BitField name="BKCMP5E" description="BRK COMP5 enable" start="5" size="1" />
      <BitField name="BKCMP4E" description="BRK COMP4 enable" start="4" size="1" />
      <BitField name="BKCMP3E" description="BRK COMP3 enable" start="3" size="1" />
      <BitField name="BKCMP2E" description="BRK COMP2 enable" start="2" size="1" />
      <BitField name="BKCMP1E" description="BRK COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="AF2" description="TIM alternate function option register 2" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OCRSEL" description="OCREF_CLR source selection" start="16" size="3" />
      <BitField name="BK2CMP4P" description="BRK2 COMP4 input polarity" start="13" size="1" />
      <BitField name="BK2CMP3P" description="BRK2 COMP3 input polarity" start="12" size="1" />
      <BitField name="BK2CMP2P" description="BRK2 COMP2 input polarity" start="11" size="1" />
      <BitField name="BK2CMP1P" description="BRK2 COMP1 input polarity" start="10" size="1" />
      <BitField name="BK2INP" description="BRK2 BKIN input polarity" start="9" size="1" />
      <BitField name="BK2CMP7E" description="BRK2 COMP7 enable" start="7" size="1" />
      <BitField name="BK2CMP6E" description="BRK2 COMP6 enable" start="6" size="1" />
      <BitField name="BK2CMP5E" description="BRK2 COMP5 enable" start="5" size="1" />
      <BitField name="BK2CMP4E" description="BRK2 COMP4 enable" start="4" size="1" />
      <BitField name="BK2CMP3E" description="BRK2 COMP3 enable" start="3" size="1" />
      <BitField name="BK2CMP2E" description="BRK2 COMP2 enable" start="2" size="1" />
      <BitField name="BK2CMP1E" description="BRK2 COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="DCR" description="control register" start="+0x3DC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DBL" description="DMA burst length" start="8" size="5" />
      <BitField name="DBA" description="DMA base address" start="0" size="5" />
    </Register>
    <Register name="DMAR" description="DMA address for full transfer" start="+0x3E0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAB" description="DMA register for burst accesses" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM5" description="Advanced-timers" start="0x40000C00">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DITHEN" description="Dithering Enable" start="12" size="1" />
      <BitField name="UIFREMAP" description="UIF status bit remapping" start="11" size="1" />
      <BitField name="CKD" description="Clock division" start="8" size="2" />
      <BitField name="ARPE" description="Auto-reload preload enable" start="7" size="1" />
      <BitField name="CMS" description="Center-aligned mode selection" start="5" size="2" />
      <BitField name="DIR" description="Direction" start="4" size="1" />
      <BitField name="OPM" description="One-pulse mode" start="3" size="1" />
      <BitField name="URS" description="Update request source" start="2" size="1" />
      <BitField name="UDIS" description="Update disable" start="1" size="1" />
      <BitField name="CEN" description="Counter enable" start="0" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MMS_3" description="Master mode selection - bit 3" start="25" size="1" />
      <BitField name="MMS2" description="Master mode selection 2" start="20" size="4" />
      <BitField name="OIS6" description="Output Idle state 6 (OC6 output)" start="18" size="1" />
      <BitField name="OIS5" description="Output Idle state 5 (OC5 output)" start="16" size="1" />
      <BitField name="OIS4N" description="Output Idle state 4 (OC4N output)" start="15" size="1" />
      <BitField name="OIS4" description="Output Idle state 4" start="14" size="1" />
      <BitField name="OIS3N" description="Output Idle state 3" start="13" size="1" />
      <BitField name="OIS3" description="Output Idle state 3" start="12" size="1" />
      <BitField name="OIS2N" description="Output Idle state 2" start="11" size="1" />
      <BitField name="OIS2" description="Output Idle state 2" start="10" size="1" />
      <BitField name="OIS1N" description="Output Idle state 1" start="9" size="1" />
      <BitField name="OIS1" description="Output Idle state 1" start="8" size="1" />
      <BitField name="TI1S" description="TI1 selection" start="7" size="1" />
      <BitField name="MMS" description="Master mode selection" start="4" size="3" />
      <BitField name="CCDS" description="Capture/compare DMA selection" start="3" size="1" />
      <BitField name="CCUS" description="Capture/compare control update selection" start="2" size="1" />
      <BitField name="CCPC" description="Capture/compare preloaded control" start="0" size="1" />
    </Register>
    <Register name="SMCR" description="slave mode control register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMSPS" description="SMS Preload Source" start="25" size="1" />
      <BitField name="SMSPE" description="SMS Preload Enable" start="24" size="1" />
      <BitField name="TS_4_3" description="Trigger selection - bit 4:3" start="20" size="2" />
      <BitField name="SMS_3" description="Slave mode selection - bit 3" start="16" size="1" />
      <BitField name="ETP" description="External trigger polarity" start="15" size="1" />
      <BitField name="ECE" description="External clock enable" start="14" size="1" />
      <BitField name="ETPS" description="External trigger prescaler" start="12" size="2" />
      <BitField name="ETF" description="External trigger filter" start="8" size="4" />
      <BitField name="MSM" description="Master/Slave mode" start="7" size="1" />
      <BitField name="TS" description="Trigger selection" start="4" size="3" />
      <BitField name="OCCS" description="OCREF clear selection" start="3" size="1" />
      <BitField name="SMS" description="Slave mode selection" start="0" size="3" />
    </Register>
    <Register name="DIER" description="DMA/Interrupt enable register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TERRIE" description="Transition Error interrupt enable" start="23" size="1" />
      <BitField name="IERRIE" description="Index Error interrupt enable" start="22" size="1" />
      <BitField name="DIRIE" description="Direction Change interrupt enable" start="21" size="1" />
      <BitField name="IDXIE" description="Index interrupt enable" start="20" size="1" />
      <BitField name="TDE" description="Trigger DMA request enable" start="14" size="1" />
      <BitField name="COMDE" description="COM DMA request enable" start="13" size="1" />
      <BitField name="CC4DE" description="Capture/Compare 4 DMA request enable" start="12" size="1" />
      <BitField name="CC3DE" description="Capture/Compare 3 DMA request enable" start="11" size="1" />
      <BitField name="CC2DE" description="Capture/Compare 2 DMA request enable" start="10" size="1" />
      <BitField name="CC1DE" description="Capture/Compare 1 DMA request enable" start="9" size="1" />
      <BitField name="UDE" description="Update DMA request enable" start="8" size="1" />
      <BitField name="TIE" description="Trigger interrupt enable" start="6" size="1" />
      <BitField name="CC4IE" description="Capture/Compare 4 interrupt enable" start="4" size="1" />
      <BitField name="CC3IE" description="Capture/Compare 3 interrupt enable" start="3" size="1" />
      <BitField name="CC2IE" description="Capture/Compare 2 interrupt enable" start="2" size="1" />
      <BitField name="CC1IE" description="Capture/Compare 1 interrupt enable" start="1" size="1" />
      <BitField name="UIE" description="Update interrupt enable" start="0" size="1" />
      <BitField name="BIE" description="Break interrupt enable" start="7" size="1" />
      <BitField name="COMIE" description="COM interrupt enable" start="5" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TERRF" description="Transition Error interrupt flag" start="23" size="1" />
      <BitField name="IERRF" description="Index Error interrupt flag" start="22" size="1" />
      <BitField name="DIRF" description="Direction Change interrupt flag" start="21" size="1" />
      <BitField name="IDXF" description="Index interrupt flag" start="20" size="1" />
      <BitField name="CC6IF" description="Compare 6 interrupt flag" start="17" size="1" />
      <BitField name="CC5IF" description="Compare 5 interrupt flag" start="16" size="1" />
      <BitField name="SBIF" description="System Break interrupt flag" start="13" size="1" />
      <BitField name="CC4OF" description="Capture/Compare 4 overcapture flag" start="12" size="1" />
      <BitField name="CC3OF" description="Capture/Compare 3 overcapture flag" start="11" size="1" />
      <BitField name="CC2OF" description="Capture/compare 2 overcapture flag" start="10" size="1" />
      <BitField name="CC1OF" description="Capture/Compare 1 overcapture flag" start="9" size="1" />
      <BitField name="B2IF" description="Break 2 interrupt flag" start="8" size="1" />
      <BitField name="BIF" description="Break interrupt flag" start="7" size="1" />
      <BitField name="TIF" description="Trigger interrupt flag" start="6" size="1" />
      <BitField name="COMIF" description="COM interrupt flag" start="5" size="1" />
      <BitField name="CC4IF" description="Capture/Compare 4 interrupt flag" start="4" size="1" />
      <BitField name="CC3IF" description="Capture/Compare 3 interrupt flag" start="3" size="1" />
      <BitField name="CC2IF" description="Capture/Compare 2 interrupt flag" start="2" size="1" />
      <BitField name="CC1IF" description="Capture/compare 1 interrupt flag" start="1" size="1" />
      <BitField name="UIF" description="Update interrupt flag" start="0" size="1" />
    </Register>
    <Register name="EGR" description="event generation register" start="+0x14" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="B2G" description="Break 2 generation" start="8" size="1" />
      <BitField name="BG" description="Break generation" start="7" size="1" />
      <BitField name="TG" description="Trigger generation" start="6" size="1" />
      <BitField name="COMG" description="Capture/Compare control update generation" start="5" size="1" />
      <BitField name="CC4G" description="Capture/compare 4 generation" start="4" size="1" />
      <BitField name="CC3G" description="Capture/compare 3 generation" start="3" size="1" />
      <BitField name="CC2G" description="Capture/compare 2 generation" start="2" size="1" />
      <BitField name="CC1G" description="Capture/compare 1 generation" start="1" size="1" />
      <BitField name="UG" description="Update generation" start="0" size="1" />
    </Register>
    <Register name="CCMR1_Output" description="capture/compare mode register 1 (output mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC2M_3" description="Output Compare 2 mode - bit 3" start="24" size="1" />
      <BitField name="OC1M_3" description="Output Compare 1 mode - bit 3" start="16" size="1" />
      <BitField name="OC2CE" description="Output Compare 2 clear enable" start="15" size="1" />
      <BitField name="OC2M" description="Output Compare 2 mode" start="12" size="3" />
      <BitField name="OC2PE" description="Output Compare 2 preload enable" start="11" size="1" />
      <BitField name="OC2FE" description="Output Compare 2 fast enable" start="10" size="1" />
      <BitField name="CC2S" description="Capture/Compare 2 selection" start="8" size="2" />
      <BitField name="OC1CE" description="Output Compare 1 clear enable" start="7" size="1" />
      <BitField name="OC1M" description="Output Compare 1 mode" start="4" size="3" />
      <BitField name="OC1PE" description="Output Compare 1 preload enable" start="3" size="1" />
      <BitField name="OC1FE" description="Output Compare 1 fast enable" start="2" size="1" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR1_Input" description="capture/compare mode register 1 (input mode)" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC2F" description="Input capture 2 filter" start="12" size="4" />
      <BitField name="IC2PSC" description="Input capture 2 prescaler" start="10" size="2" />
      <BitField name="CC2S" description="Capture/Compare 2 selection" start="8" size="2" />
      <BitField name="IC1F" description="Input capture 1 filter" start="4" size="4" />
      <BitField name="ICPCS" description="Input capture 1 prescaler" start="2" size="2" />
      <BitField name="CC1S" description="Capture/Compare 1 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR2_Output" description="capture/compare mode register 2 (output mode)" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC4M_3" description="Output Compare 4 mode - bit 3" start="24" size="1" />
      <BitField name="OC3M_3" description="Output Compare 3 mode - bit 3" start="16" size="1" />
      <BitField name="OC4CE" description="Output compare 4 clear enable" start="15" size="1" />
      <BitField name="OC4M" description="Output compare 4 mode" start="12" size="3" />
      <BitField name="OC4PE" description="Output compare 4 preload enable" start="11" size="1" />
      <BitField name="OC4FE" description="Output compare 4 fast enable" start="10" size="1" />
      <BitField name="CC4S" description="Capture/Compare 4 selection" start="8" size="2" />
      <BitField name="OC3CE" description="Output compare 3 clear enable" start="7" size="1" />
      <BitField name="OC3M" description="Output compare 3 mode" start="4" size="3" />
      <BitField name="OC3PE" description="Output compare 3 preload enable" start="3" size="1" />
      <BitField name="OC3FE" description="Output compare 3 fast enable" start="2" size="1" />
      <BitField name="CC3S" description="Capture/Compare 3 selection" start="0" size="2" />
    </Register>
    <Register name="CCMR2_Input" description="capture/compare mode register 2 (input mode)" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IC4F" description="Input capture 4 filter" start="12" size="4" />
      <BitField name="IC4PSC" description="Input capture 4 prescaler" start="10" size="2" />
      <BitField name="CC4S" description="Capture/Compare 4 selection" start="8" size="2" />
      <BitField name="IC3F" description="Input capture 3 filter" start="4" size="4" />
      <BitField name="IC3PSC" description="Input capture 3 prescaler" start="2" size="2" />
      <BitField name="CC3S" description="Capture/compare 3 selection" start="0" size="2" />
    </Register>
    <Register name="CCER" description="capture/compare enable register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CC6P" description="Capture/Compare 6 output polarity" start="21" size="1" />
      <BitField name="CC6E" description="Capture/Compare 6 output enable" start="20" size="1" />
      <BitField name="CC5P" description="Capture/Compare 5 output polarity" start="17" size="1" />
      <BitField name="CC5E" description="Capture/Compare 5 output enable" start="16" size="1" />
      <BitField name="CC4NP" description="Capture/Compare 4 complementary output polarity" start="15" size="1" />
      <BitField name="CC4NE" description="Capture/Compare 4 complementary output enable" start="14" size="1" />
      <BitField name="CC4P" description="Capture/Compare 3 output Polarity" start="13" size="1" />
      <BitField name="CC4E" description="Capture/Compare 4 output enable" start="12" size="1" />
      <BitField name="CC3NP" description="Capture/Compare 3 output Polarity" start="11" size="1" />
      <BitField name="CC3NE" description="Capture/Compare 3 complementary output enable" start="10" size="1" />
      <BitField name="CC3P" description="Capture/Compare 3 output Polarity" start="9" size="1" />
      <BitField name="CC3E" description="Capture/Compare 3 output enable" start="8" size="1" />
      <BitField name="CC2NP" description="Capture/Compare 2 output Polarity" start="7" size="1" />
      <BitField name="CC2NE" description="Capture/Compare 2 complementary output enable" start="6" size="1" />
      <BitField name="CC2P" description="Capture/Compare 2 output Polarity" start="5" size="1" />
      <BitField name="CC2E" description="Capture/Compare 2 output enable" start="4" size="1" />
      <BitField name="CC1NP" description="Capture/Compare 1 output Polarity" start="3" size="1" />
      <BitField name="CC1NE" description="Capture/Compare 1 complementary output enable" start="2" size="1" />
      <BitField name="CC1P" description="Capture/Compare 1 output Polarity" start="1" size="1" />
      <BitField name="CC1E" description="Capture/Compare 1 output enable" start="0" size="1" />
    </Register>
    <Register name="CNT" description="counter" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="UIFCPY" description="UIFCPY" start="31" size="1" />
      <BitField name="CNT" description="counter value" start="0" size="16" />
    </Register>
    <Register name="PSC" description="prescaler" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PSC" description="Prescaler value" start="0" size="16" />
    </Register>
    <Register name="ARR" description="auto-reload register" start="+0x2C" size="4" access="Read/Write" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="ARR" description="Auto-reload value" start="0" size="16" />
    </Register>
    <Register name="RCR" description="repetition counter register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="REP" description="Repetition counter value" start="0" size="16" />
    </Register>
    <Register name="CCR1" description="capture/compare register 1" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR1" description="Capture/Compare 1 value" start="0" size="16" />
    </Register>
    <Register name="CCR2" description="capture/compare register 2" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR2" description="Capture/Compare 2 value" start="0" size="16" />
    </Register>
    <Register name="CCR3" description="capture/compare register 3" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR3" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="CCR4" description="capture/compare register 4" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR4" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="BDTR" description="break and dead-time register" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BK2ID" description="BK2ID" start="29" size="1" />
      <BitField name="BKBID" description="BKBID" start="28" size="1" />
      <BitField name="BK2DSRM" description="BK2DSRM" start="27" size="1" />
      <BitField name="BKDSRM" description="BKDSRM" start="26" size="1" />
      <BitField name="BK2P" description="Break 2 polarity" start="25" size="1" />
      <BitField name="BK2E" description="Break 2 Enable" start="24" size="1" />
      <BitField name="BK2F" description="Break 2 filter" start="20" size="4" />
      <BitField name="BKF" description="Break filter" start="16" size="4" />
      <BitField name="MOE" description="Main output enable" start="15" size="1" />
      <BitField name="AOE" description="Automatic output enable" start="14" size="1" />
      <BitField name="BKP" description="Break polarity" start="13" size="1" />
      <BitField name="BKE" description="Break enable" start="12" size="1" />
      <BitField name="OSSR" description="Off-state selection for Run mode" start="11" size="1" />
      <BitField name="OSSI" description="Off-state selection for Idle mode" start="10" size="1" />
      <BitField name="LOCK" description="Lock configuration" start="8" size="2" />
      <BitField name="DTG" description="Dead-time generator setup" start="0" size="8" />
    </Register>
    <Register name="CCR5" description="capture/compare register 4" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR5" description="Capture/Compare value" start="0" size="16" />
      <BitField name="GC5C1" description="Group Channel 5 and Channel 1" start="29" size="1" />
      <BitField name="GC5C2" description="Group Channel 5 and Channel 2" start="30" size="1" />
      <BitField name="GC5C3" description="Group Channel 5 and Channel 3" start="31" size="1" />
    </Register>
    <Register name="CCR6" description="capture/compare register 4" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCR6" description="Capture/Compare value" start="0" size="16" />
    </Register>
    <Register name="CCMR3_Output" description="capture/compare mode register 2 (output mode)" start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OC6M_bit3" description="Output Compare 6 mode bit 3" start="24" size="1" />
      <BitField name="OC5M_bit3" description="Output Compare 5 mode bit 3" start="16" size="3" />
      <BitField name="OC6CE" description="Output compare 6 clear enable" start="15" size="1" />
      <BitField name="OC6M" description="Output compare 6 mode" start="12" size="3" />
      <BitField name="OC6PE" description="Output compare 6 preload enable" start="11" size="1" />
      <BitField name="OC6FE" description="Output compare 6 fast enable" start="10" size="1" />
      <BitField name="OC5CE" description="Output compare 5 clear enable" start="7" size="1" />
      <BitField name="OC5M" description="Output compare 5 mode" start="4" size="3" />
      <BitField name="OC5PE" description="Output compare 5 preload enable" start="3" size="1" />
      <BitField name="OC5FE" description="Output compare 5 fast enable" start="2" size="1" />
    </Register>
    <Register name="DTR2" description="timer Deadtime Register 2" start="+0x54" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DTPE" description="Deadtime Preload Enable" start="17" size="1" />
      <BitField name="DTAE" description="Deadtime Asymmetric Enable" start="16" size="1" />
      <BitField name="DTGF" description="Dead-time falling edge generator setup" start="0" size="8" />
    </Register>
    <Register name="ECR" description="DMA control register" start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IE" description="Index Enable" start="0" size="1" />
      <BitField name="IDIR" description="Index Direction" start="1" size="2" />
      <BitField name="IBLK" description="Index Blanking" start="3" size="2" />
      <BitField name="FIDX" description="First Index" start="5" size="1" />
      <BitField name="IPOS" description="Index Positioning" start="6" size="2" />
      <BitField name="PW" description="Pulse width" start="16" size="8" />
      <BitField name="PWPRSC" description="Pulse Width prescaler" start="24" size="3" />
    </Register>
    <Register name="TISEL" description="TIM timer input selection register" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TI1SEL" description="TI1[0] to TI1[15] input selection" start="0" size="4" />
      <BitField name="TI2SEL" description="TI2[0] to TI2[15] input selection" start="8" size="4" />
      <BitField name="TI3SEL" description="TI3[0] to TI3[15] input selection" start="16" size="4" />
      <BitField name="TI4SEL" description="TI4[0] to TI4[15] input selection" start="24" size="4" />
    </Register>
    <Register name="AF1" description="TIM alternate function option register 1" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ETRSEL" description="ETR source selection" start="14" size="4" />
      <BitField name="BKCMP4P" description="BRK COMP4 input polarity" start="13" size="1" />
      <BitField name="BKCMP3P" description="BRK COMP3 input polarity" start="12" size="1" />
      <BitField name="BKCMP2P" description="BRK COMP2 input polarity" start="11" size="1" />
      <BitField name="BKCMP1P" description="BRK COMP1 input polarity" start="10" size="1" />
      <BitField name="BKINP" description="BRK BKIN input polarity" start="9" size="1" />
      <BitField name="BKCMP7E" description="BRK COMP7 enable" start="7" size="1" />
      <BitField name="BKCMP6E" description="BRK COMP6 enable" start="6" size="1" />
      <BitField name="BKCMP5E" description="BRK COMP5 enable" start="5" size="1" />
      <BitField name="BKCMP4E" description="BRK COMP4 enable" start="4" size="1" />
      <BitField name="BKCMP3E" description="BRK COMP3 enable" start="3" size="1" />
      <BitField name="BKCMP2E" description="BRK COMP2 enable" start="2" size="1" />
      <BitField name="BKCMP1E" description="BRK COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="AF2" description="TIM alternate function option register 2" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OCRSEL" description="OCREF_CLR source selection" start="16" size="3" />
      <BitField name="BK2CMP4P" description="BRK2 COMP4 input polarity" start="13" size="1" />
      <BitField name="BK2CMP3P" description="BRK2 COMP3 input polarity" start="12" size="1" />
      <BitField name="BK2CMP2P" description="BRK2 COMP2 input polarity" start="11" size="1" />
      <BitField name="BK2CMP1P" description="BRK2 COMP1 input polarity" start="10" size="1" />
      <BitField name="BK2INP" description="BRK2 BKIN input polarity" start="9" size="1" />
      <BitField name="BK2CMP7E" description="BRK2 COMP7 enable" start="7" size="1" />
      <BitField name="BK2CMP6E" description="BRK2 COMP6 enable" start="6" size="1" />
      <BitField name="BK2CMP5E" description="BRK2 COMP5 enable" start="5" size="1" />
      <BitField name="BK2CMP4E" description="BRK2 COMP4 enable" start="4" size="1" />
      <BitField name="BK2CMP3E" description="BRK2 COMP3 enable" start="3" size="1" />
      <BitField name="BK2CMP2E" description="BRK2 COMP2 enable" start="2" size="1" />
      <BitField name="BK2CMP1E" description="BRK2 COMP1 enable" start="1" size="1" />
      <BitField name="BKINE" description="BRK BKIN input enable" start="0" size="1" />
    </Register>
    <Register name="DCR" description="control register" start="+0x3DC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DBL" description="DMA burst length" start="8" size="5" />
      <BitField name="DBA" description="DMA base address" start="0" size="5" />
    </Register>
    <Register name="DMAR" description="DMA address for full transfer" start="+0x3E0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAB" description="DMA register for burst accesses" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM6" description="Basic-timers" start="0x40001000">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DITHEN" description="Dithering Enable" start="12" size="1" />
      <BitField name="UIFREMAP" description="UIF status bit remapping" start="11" size="1" />
      <BitField name="ARPE" description="Auto-reload preload enable" start="7" size="1" />
      <BitField name="OPM" description="One-pulse mode" start="3" size="1" />
      <BitField name="URS" description="Update request source" start="2" size="1" />
      <BitField name="UDIS" description="Update disable" start="1" size="1" />
      <BitField name="CEN" description="Counter enable" start="0" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MMS" description="Master mode selection" start="4" size="3" />
    </Register>
    <Register name="DIER" description="DMA/Interrupt enable register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="UDE" description="Update DMA request enable" start="8" size="1" />
      <BitField name="UIE" description="Update interrupt enable" start="0" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="UIF" description="Update interrupt flag" start="0" size="1" />
    </Register>
    <Register name="EGR" description="event generation register" start="+0x14" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="UG" description="Update generation" start="0" size="1" />
    </Register>
    <Register name="CNT" description="counter" start="+0x24" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="UIFCPY" description="UIF Copy" start="31" size="1" access="ReadOnly" />
      <BitField name="CNT" description="Low counter value" start="0" size="16" access="Read/Write" />
    </Register>
    <Register name="PSC" description="prescaler" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PSC" description="Prescaler value" start="0" size="16" />
    </Register>
    <Register name="ARR" description="auto-reload register" start="+0x2C" size="4" access="Read/Write" reset_value="0x0000FFFF" reset_mask="0xFFFFFFFF">
      <BitField name="ARR" description="Low Auto-reload value" start="0" size="16" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM7" description="Basic-timers" start="0x40001400">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DITHEN" description="Dithering Enable" start="12" size="1" />
      <BitField name="UIFREMAP" description="UIF status bit remapping" start="11" size="1" />
      <BitField name="ARPE" description="Auto-reload preload enable" start="7" size="1" />
      <BitField name="OPM" description="One-pulse mode" start="3" size="1" />
      <BitField name="URS" description="Update request source" start="2" size="1" />
      <BitField name="UDIS" description="Update disable" start="1" size="1" />
      <BitField name="CEN" description="Counter enable" start="0" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MMS" description="Master mode selection" start="4" size="3" />
    </Register>
    <Register name="DIER" description="DMA/Interrupt enable register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="UDE" description="Update DMA request enable" start="8" size="1" />
      <BitField name="UIE" description="Update interrupt enable" start="0" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="UIF" description="Update interrupt flag" start="0" size="1" />
    </Register>
    <Register name="EGR" description="event generation register" start="+0x14" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="UG" description="Update generation" start="0" size="1" />
    </Register>
    <Register name="CNT" description="counter" start="+0x24" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="UIFCPY" description="UIF Copy" start="31" size="1" access="ReadOnly" />
      <BitField name="CNT" description="Low counter value" start="0" size="16" access="Read/Write" />
    </Register>
    <Register name="PSC" description="prescaler" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PSC" description="Prescaler value" start="0" size="16" />
    </Register>
    <Register name="ARR" description="auto-reload register" start="+0x2C" size="4" access="Read/Write" reset_value="0x0000FFFF" reset_mask="0xFFFFFFFF">
      <BitField name="ARR" description="Low Auto-reload value" start="0" size="16" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="LPTIMER1" description="Low power timer" start="0x40007C00">
    <Register name="ISR" description="Interrupt and Status Register" start="+0x0" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DOWN" description="Counter direction change up to down" start="6" size="1" />
      <BitField name="UP" description="Counter direction change down to up" start="5" size="1" />
      <BitField name="ARROK" description="Autoreload register update OK" start="4" size="1" />
      <BitField name="CMPOK" description="Compare register update OK" start="3" size="1" />
      <BitField name="EXTTRIG" description="External trigger edge event" start="2" size="1" />
      <BitField name="ARRM" description="Autoreload match" start="1" size="1" />
      <BitField name="CMPM" description="Compare match" start="0" size="1" />
    </Register>
    <Register name="ICR" description="Interrupt Clear Register" start="+0x4" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DOWNCF" description="Direction change to down Clear Flag" start="6" size="1" />
      <BitField name="UPCF" description="Direction change to UP Clear Flag" start="5" size="1" />
      <BitField name="ARROKCF" description="Autoreload register update OK Clear Flag" start="4" size="1" />
      <BitField name="CMPOKCF" description="Compare register update OK Clear Flag" start="3" size="1" />
      <BitField name="EXTTRIGCF" description="External trigger valid edge Clear Flag" start="2" size="1" />
      <BitField name="ARRMCF" description="Autoreload match Clear Flag" start="1" size="1" />
      <BitField name="CMPMCF" description="compare match Clear Flag" start="0" size="1" />
    </Register>
    <Register name="IER" description="Interrupt Enable Register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DOWNIE" description="Direction change to down Interrupt Enable" start="6" size="1" />
      <BitField name="UPIE" description="Direction change to UP Interrupt Enable" start="5" size="1" />
      <BitField name="ARROKIE" description="Autoreload register update OK Interrupt Enable" start="4" size="1" />
      <BitField name="CMPOKIE" description="Compare register update OK Interrupt Enable" start="3" size="1" />
      <BitField name="EXTTRIGIE" description="External trigger valid edge Interrupt Enable" start="2" size="1" />
      <BitField name="ARRMIE" description="Autoreload match Interrupt Enable" start="1" size="1" />
      <BitField name="CMPMIE" description="Compare match Interrupt Enable" start="0" size="1" />
    </Register>
    <Register name="CFGR" description="Configuration Register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ENC" description="Encoder mode enable" start="24" size="1" />
      <BitField name="COUNTMODE" description="counter mode enabled" start="23" size="1" />
      <BitField name="PRELOAD" description="Registers update mode" start="22" size="1" />
      <BitField name="WAVPOL" description="Waveform shape polarity" start="21" size="1" />
      <BitField name="WAVE" description="Waveform shape" start="20" size="1" />
      <BitField name="TIMOUT" description="Timeout enable" start="19" size="1" />
      <BitField name="TRIGEN" description="Trigger enable and polarity" start="17" size="2" />
      <BitField name="TRIGSEL" description="Trigger selector" start="13" size="4" />
      <BitField name="PRESC" description="Clock prescaler" start="9" size="3" />
      <BitField name="TRGFLT" description="Configurable digital filter for trigger" start="6" size="2" />
      <BitField name="CKFLT" description="Configurable digital filter for external clock" start="3" size="2" />
      <BitField name="CKPOL" description="Clock Polarity" start="1" size="2" />
      <BitField name="CKSEL" description="Clock selector" start="0" size="1" />
    </Register>
    <Register name="CR" description="Control Register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RSTARE" description="RSTARE" start="4" size="1" />
      <BitField name="COUNTRST" description="COUNTRST" start="3" size="1" />
      <BitField name="CNTSTRT" description="Timer start in continuous mode" start="2" size="1" />
      <BitField name="SNGSTRT" description="LPTIM start in single mode" start="1" size="1" />
      <BitField name="ENABLE" description="LPTIM Enable" start="0" size="1" />
    </Register>
    <Register name="CMP" description="Compare Register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CMP" description="Compare value" start="0" size="16" />
    </Register>
    <Register name="ARR" description="Autoreload Register" start="+0x18" size="4" access="Read/Write" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
      <BitField name="ARR" description="Auto reload value" start="0" size="16" />
    </Register>
    <Register name="CNT" description="Counter Register" start="+0x1C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CNT" description="Counter value" start="0" size="16" />
    </Register>
    <Register name="OR" description="option register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IN1" description="IN1" start="0" size="1" />
      <BitField name="IN2" description="IN2" start="1" size="1" />
      <BitField name="IN1_2_1" description="IN1_2_1" start="2" size="2" />
      <BitField name="IN2_2_1" description="IN2_2_1" start="4" size="2" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="USART1" description="Universal synchronous asynchronous receiver transmitter" start="0x40013800">
    <Register name="CR1" description="Control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXFFIE" description="RXFFIE" start="31" size="1" />
      <BitField name="TXFEIE" description="TXFEIE" start="30" size="1" />
      <BitField name="FIFOEN" description="FIFOEN" start="29" size="1" />
      <BitField name="M1" description="M1" start="28" size="1" />
      <BitField name="EOBIE" description="End of Block interrupt enable" start="27" size="1" />
      <BitField name="RTOIE" description="Receiver timeout interrupt enable" start="26" size="1" />
      <BitField name="DEAT4" description="Driver Enable assertion time" start="25" size="1" />
      <BitField name="DEAT3" description="DEAT3" start="24" size="1" />
      <BitField name="DEAT2" description="DEAT2" start="23" size="1" />
      <BitField name="DEAT1" description="DEAT1" start="22" size="1" />
      <BitField name="DEAT0" description="DEAT0" start="21" size="1" />
      <BitField name="DEDT4" description="Driver Enable de-assertion time" start="20" size="1" />
      <BitField name="DEDT3" description="DEDT3" start="19" size="1" />
      <BitField name="DEDT2" description="DEDT2" start="18" size="1" />
      <BitField name="DEDT1" description="DEDT1" start="17" size="1" />
      <BitField name="DEDT0" description="DEDT0" start="16" size="1" />
      <BitField name="OVER8" description="Oversampling mode" start="15" size="1" />
      <BitField name="CMIE" description="Character match interrupt enable" start="14" size="1" />
      <BitField name="MME" description="Mute mode enable" start="13" size="1" />
      <BitField name="M0" description="Word length" start="12" size="1" />
      <BitField name="WAKE" description="Receiver wakeup method" start="11" size="1" />
      <BitField name="PCE" description="Parity control enable" start="10" size="1" />
      <BitField name="PS" description="Parity selection" start="9" size="1" />
      <BitField name="PEIE" description="PE interrupt enable" start="8" size="1" />
      <BitField name="TXEIE" description="interrupt enable" start="7" size="1" />
      <BitField name="TCIE" description="Transmission complete interrupt enable" start="6" size="1" />
      <BitField name="RXNEIE" description="RXNE interrupt enable" start="5" size="1" />
      <BitField name="IDLEIE" description="IDLE interrupt enable" start="4" size="1" />
      <BitField name="TE" description="Transmitter enable" start="3" size="1" />
      <BitField name="RE" description="Receiver enable" start="2" size="1" />
      <BitField name="UESM" description="USART enable in Stop mode" start="1" size="1" />
      <BitField name="UE" description="USART enable" start="0" size="1" />
    </Register>
    <Register name="CR2" description="Control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ADD4_7" description="Address of the USART node" start="28" size="4" />
      <BitField name="ADD0_3" description="Address of the USART node" start="24" size="4" />
      <BitField name="RTOEN" description="Receiver timeout enable" start="23" size="1" />
      <BitField name="ABRMOD1" description="Auto baud rate mode" start="22" size="1" />
      <BitField name="ABRMOD0" description="ABRMOD0" start="21" size="1" />
      <BitField name="ABREN" description="Auto baud rate enable" start="20" size="1" />
      <BitField name="MSBFIRST" description="Most significant bit first" start="19" size="1" />
      <BitField name="TAINV" description="Binary data inversion" start="18" size="1" />
      <BitField name="TXINV" description="TX pin active level inversion" start="17" size="1" />
      <BitField name="RXINV" description="RX pin active level inversion" start="16" size="1" />
      <BitField name="SWAP" description="Swap TX/RX pins" start="15" size="1" />
      <BitField name="LINEN" description="LIN mode enable" start="14" size="1" />
      <BitField name="STOP" description="STOP bits" start="12" size="2" />
      <BitField name="CLKEN" description="Clock enable" start="11" size="1" />
      <BitField name="CPOL" description="Clock polarity" start="10" size="1" />
      <BitField name="CPHA" description="Clock phase" start="9" size="1" />
      <BitField name="LBCL" description="Last bit clock pulse" start="8" size="1" />
      <BitField name="LBDIE" description="LIN break detection interrupt enable" start="6" size="1" />
      <BitField name="LBDL" description="LIN break detection length" start="5" size="1" />
      <BitField name="ADDM7" description="7-bit Address Detection/4-bit Address Detection" start="4" size="1" />
      <BitField name="DIS_NSS" description="DIS_NSS" start="3" size="1" />
      <BitField name="SLVEN" description="SLVEN" start="0" size="1" />
    </Register>
    <Register name="CR3" description="Control register 3" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXFTCFG" description="TXFTCFG" start="29" size="3" />
      <BitField name="RXFTIE" description="RXFTIE" start="28" size="1" />
      <BitField name="RXFTCFG" description="RXFTCFG" start="25" size="3" />
      <BitField name="TCBGTIE" description="TCBGTIE" start="24" size="1" />
      <BitField name="TXFTIE" description="TXFTIE" start="23" size="1" />
      <BitField name="WUFIE" description="Wakeup from Stop mode interrupt enable" start="22" size="1" />
      <BitField name="WUS" description="Wakeup from Stop mode interrupt flag selection" start="20" size="2" />
      <BitField name="SCARCNT" description="Smartcard auto-retry count" start="17" size="3" />
      <BitField name="DEP" description="Driver enable polarity selection" start="15" size="1" />
      <BitField name="DEM" description="Driver enable mode" start="14" size="1" />
      <BitField name="DDRE" description="DMA Disable on Reception Error" start="13" size="1" />
      <BitField name="OVRDIS" description="Overrun Disable" start="12" size="1" />
      <BitField name="ONEBIT" description="One sample bit method enable" start="11" size="1" />
      <BitField name="CTSIE" description="CTS interrupt enable" start="10" size="1" />
      <BitField name="CTSE" description="CTS enable" start="9" size="1" />
      <BitField name="RTSE" description="RTS enable" start="8" size="1" />
      <BitField name="DMAT" description="DMA enable transmitter" start="7" size="1" />
      <BitField name="DMAR" description="DMA enable receiver" start="6" size="1" />
      <BitField name="SCEN" description="Smartcard mode enable" start="5" size="1" />
      <BitField name="NACK" description="Smartcard NACK enable" start="4" size="1" />
      <BitField name="HDSEL" description="Half-duplex selection" start="3" size="1" />
      <BitField name="IRLP" description="Ir low-power" start="2" size="1" />
      <BitField name="IREN" description="Ir mode enable" start="1" size="1" />
      <BitField name="EIE" description="Error interrupt enable" start="0" size="1" />
    </Register>
    <Register name="BRR" description="Baud rate register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DIV_Mantissa" description="DIV_Mantissa" start="4" size="12" />
      <BitField name="DIV_Fraction" description="DIV_Fraction" start="0" size="4" />
    </Register>
    <Register name="GTPR" description="Guard time and prescaler register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="GT" description="Guard time value" start="8" size="8" />
      <BitField name="PSC" description="Prescaler value" start="0" size="8" />
    </Register>
    <Register name="RTOR" description="Receiver timeout register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BLEN" description="Block Length" start="24" size="8" />
      <BitField name="RTO" description="Receiver timeout value" start="0" size="24" />
    </Register>
    <Register name="RQR" description="Request register" start="+0x18" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXFRQ" description="Transmit data flush request" start="4" size="1" />
      <BitField name="RXFRQ" description="Receive data flush request" start="3" size="1" />
      <BitField name="MMRQ" description="Mute mode request" start="2" size="1" />
      <BitField name="SBKRQ" description="Send break request" start="1" size="1" />
      <BitField name="ABRRQ" description="Auto baud rate request" start="0" size="1" />
    </Register>
    <Register name="ISR" description="Interrupt &amp; status register" start="+0x1C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXFT" description="TXFT" start="27" size="1" />
      <BitField name="RXFT" description="RXFT" start="26" size="1" />
      <BitField name="TCBGT" description="TCBGT" start="25" size="1" />
      <BitField name="RXFF" description="RXFF" start="24" size="1" />
      <BitField name="TXFE" description="TXFE" start="23" size="1" />
      <BitField name="REACK" description="REACK" start="22" size="1" />
      <BitField name="TEACK" description="TEACK" start="21" size="1" />
      <BitField name="WUF" description="WUF" start="20" size="1" />
      <BitField name="RWU" description="RWU" start="19" size="1" />
      <BitField name="SBKF" description="SBKF" start="18" size="1" />
      <BitField name="CMF" description="CMF" start="17" size="1" />
      <BitField name="BUSY" description="BUSY" start="16" size="1" />
      <BitField name="ABRF" description="ABRF" start="15" size="1" />
      <BitField name="ABRE" description="ABRE" start="14" size="1" />
      <BitField name="UDR" description="UDR" start="13" size="1" />
      <BitField name="EOBF" description="EOBF" start="12" size="1" />
      <BitField name="RTOF" description="RTOF" start="11" size="1" />
      <BitField name="CTS" description="CTS" start="10" size="1" />
      <BitField name="CTSIF" description="CTSIF" start="9" size="1" />
      <BitField name="LBDF" description="LBDF" start="8" size="1" />
      <BitField name="TXE" description="TXE" start="7" size="1" />
      <BitField name="TC" description="TC" start="6" size="1" />
      <BitField name="RXNE" description="RXNE" start="5" size="1" />
      <BitField name="IDLE" description="IDLE" start="4" size="1" />
      <BitField name="ORE" description="ORE" start="3" size="1" />
      <BitField name="NF" description="NF" start="2" size="1" />
      <BitField name="FE" description="FE" start="1" size="1" />
      <BitField name="PE" description="PE" start="0" size="1" />
    </Register>
    <Register name="ICR" description="Interrupt flag clear register" start="+0x20" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="WUCF" description="Wakeup from Stop mode clear flag" start="20" size="1" />
      <BitField name="CMCF" description="Character match clear flag" start="17" size="1" />
      <BitField name="UDRCF" description="UDRCF" start="13" size="1" />
      <BitField name="EOBCF" description="End of block clear flag" start="12" size="1" />
      <BitField name="RTOCF" description="Receiver timeout clear flag" start="11" size="1" />
      <BitField name="CTSCF" description="CTS clear flag" start="9" size="1" />
      <BitField name="LBDCF" description="LIN break detection clear flag" start="8" size="1" />
      <BitField name="TCBGTCF" description="TCBGTCF" start="7" size="1" />
      <BitField name="TCCF" description="Transmission complete clear flag" start="6" size="1" />
      <BitField name="TXFECF" description="TXFECF" start="5" size="1" />
      <BitField name="IDLECF" description="Idle line detected clear flag" start="4" size="1" />
      <BitField name="ORECF" description="Overrun error clear flag" start="3" size="1" />
      <BitField name="NCF" description="Noise detected clear flag" start="2" size="1" />
      <BitField name="FECF" description="Framing error clear flag" start="1" size="1" />
      <BitField name="PECF" description="Parity error clear flag" start="0" size="1" />
    </Register>
    <Register name="RDR" description="Receive data register" start="+0x24" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RDR" description="Receive data value" start="0" size="9" />
    </Register>
    <Register name="TDR" description="Transmit data register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TDR" description="Transmit data value" start="0" size="9" />
    </Register>
    <Register name="PRESC" description="USART prescaler register" start="+0x2C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PRESCALER" description="PRESCALER" start="0" size="4" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="USART2" description="Universal synchronous asynchronous receiver transmitter" start="0x40004400">
    <Register name="CR1" description="Control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXFFIE" description="RXFFIE" start="31" size="1" />
      <BitField name="TXFEIE" description="TXFEIE" start="30" size="1" />
      <BitField name="FIFOEN" description="FIFOEN" start="29" size="1" />
      <BitField name="M1" description="M1" start="28" size="1" />
      <BitField name="EOBIE" description="End of Block interrupt enable" start="27" size="1" />
      <BitField name="RTOIE" description="Receiver timeout interrupt enable" start="26" size="1" />
      <BitField name="DEAT4" description="Driver Enable assertion time" start="25" size="1" />
      <BitField name="DEAT3" description="DEAT3" start="24" size="1" />
      <BitField name="DEAT2" description="DEAT2" start="23" size="1" />
      <BitField name="DEAT1" description="DEAT1" start="22" size="1" />
      <BitField name="DEAT0" description="DEAT0" start="21" size="1" />
      <BitField name="DEDT4" description="Driver Enable de-assertion time" start="20" size="1" />
      <BitField name="DEDT3" description="DEDT3" start="19" size="1" />
      <BitField name="DEDT2" description="DEDT2" start="18" size="1" />
      <BitField name="DEDT1" description="DEDT1" start="17" size="1" />
      <BitField name="DEDT0" description="DEDT0" start="16" size="1" />
      <BitField name="OVER8" description="Oversampling mode" start="15" size="1" />
      <BitField name="CMIE" description="Character match interrupt enable" start="14" size="1" />
      <BitField name="MME" description="Mute mode enable" start="13" size="1" />
      <BitField name="M0" description="Word length" start="12" size="1" />
      <BitField name="WAKE" description="Receiver wakeup method" start="11" size="1" />
      <BitField name="PCE" description="Parity control enable" start="10" size="1" />
      <BitField name="PS" description="Parity selection" start="9" size="1" />
      <BitField name="PEIE" description="PE interrupt enable" start="8" size="1" />
      <BitField name="TXEIE" description="interrupt enable" start="7" size="1" />
      <BitField name="TCIE" description="Transmission complete interrupt enable" start="6" size="1" />
      <BitField name="RXNEIE" description="RXNE interrupt enable" start="5" size="1" />
      <BitField name="IDLEIE" description="IDLE interrupt enable" start="4" size="1" />
      <BitField name="TE" description="Transmitter enable" start="3" size="1" />
      <BitField name="RE" description="Receiver enable" start="2" size="1" />
      <BitField name="UESM" description="USART enable in Stop mode" start="1" size="1" />
      <BitField name="UE" description="USART enable" start="0" size="1" />
    </Register>
    <Register name="CR2" description="Control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ADD4_7" description="Address of the USART node" start="28" size="4" />
      <BitField name="ADD0_3" description="Address of the USART node" start="24" size="4" />
      <BitField name="RTOEN" description="Receiver timeout enable" start="23" size="1" />
      <BitField name="ABRMOD1" description="Auto baud rate mode" start="22" size="1" />
      <BitField name="ABRMOD0" description="ABRMOD0" start="21" size="1" />
      <BitField name="ABREN" description="Auto baud rate enable" start="20" size="1" />
      <BitField name="MSBFIRST" description="Most significant bit first" start="19" size="1" />
      <BitField name="TAINV" description="Binary data inversion" start="18" size="1" />
      <BitField name="TXINV" description="TX pin active level inversion" start="17" size="1" />
      <BitField name="RXINV" description="RX pin active level inversion" start="16" size="1" />
      <BitField name="SWAP" description="Swap TX/RX pins" start="15" size="1" />
      <BitField name="LINEN" description="LIN mode enable" start="14" size="1" />
      <BitField name="STOP" description="STOP bits" start="12" size="2" />
      <BitField name="CLKEN" description="Clock enable" start="11" size="1" />
      <BitField name="CPOL" description="Clock polarity" start="10" size="1" />
      <BitField name="CPHA" description="Clock phase" start="9" size="1" />
      <BitField name="LBCL" description="Last bit clock pulse" start="8" size="1" />
      <BitField name="LBDIE" description="LIN break detection interrupt enable" start="6" size="1" />
      <BitField name="LBDL" description="LIN break detection length" start="5" size="1" />
      <BitField name="ADDM7" description="7-bit Address Detection/4-bit Address Detection" start="4" size="1" />
      <BitField name="DIS_NSS" description="DIS_NSS" start="3" size="1" />
      <BitField name="SLVEN" description="SLVEN" start="0" size="1" />
    </Register>
    <Register name="CR3" description="Control register 3" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXFTCFG" description="TXFTCFG" start="29" size="3" />
      <BitField name="RXFTIE" description="RXFTIE" start="28" size="1" />
      <BitField name="RXFTCFG" description="RXFTCFG" start="25" size="3" />
      <BitField name="TCBGTIE" description="TCBGTIE" start="24" size="1" />
      <BitField name="TXFTIE" description="TXFTIE" start="23" size="1" />
      <BitField name="WUFIE" description="Wakeup from Stop mode interrupt enable" start="22" size="1" />
      <BitField name="WUS" description="Wakeup from Stop mode interrupt flag selection" start="20" size="2" />
      <BitField name="SCARCNT" description="Smartcard auto-retry count" start="17" size="3" />
      <BitField name="DEP" description="Driver enable polarity selection" start="15" size="1" />
      <BitField name="DEM" description="Driver enable mode" start="14" size="1" />
      <BitField name="DDRE" description="DMA Disable on Reception Error" start="13" size="1" />
      <BitField name="OVRDIS" description="Overrun Disable" start="12" size="1" />
      <BitField name="ONEBIT" description="One sample bit method enable" start="11" size="1" />
      <BitField name="CTSIE" description="CTS interrupt enable" start="10" size="1" />
      <BitField name="CTSE" description="CTS enable" start="9" size="1" />
      <BitField name="RTSE" description="RTS enable" start="8" size="1" />
      <BitField name="DMAT" description="DMA enable transmitter" start="7" size="1" />
      <BitField name="DMAR" description="DMA enable receiver" start="6" size="1" />
      <BitField name="SCEN" description="Smartcard mode enable" start="5" size="1" />
      <BitField name="NACK" description="Smartcard NACK enable" start="4" size="1" />
      <BitField name="HDSEL" description="Half-duplex selection" start="3" size="1" />
      <BitField name="IRLP" description="Ir low-power" start="2" size="1" />
      <BitField name="IREN" description="Ir mode enable" start="1" size="1" />
      <BitField name="EIE" description="Error interrupt enable" start="0" size="1" />
    </Register>
    <Register name="BRR" description="Baud rate register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DIV_Mantissa" description="DIV_Mantissa" start="4" size="12" />
      <BitField name="DIV_Fraction" description="DIV_Fraction" start="0" size="4" />
    </Register>
    <Register name="GTPR" description="Guard time and prescaler register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="GT" description="Guard time value" start="8" size="8" />
      <BitField name="PSC" description="Prescaler value" start="0" size="8" />
    </Register>
    <Register name="RTOR" description="Receiver timeout register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BLEN" description="Block Length" start="24" size="8" />
      <BitField name="RTO" description="Receiver timeout value" start="0" size="24" />
    </Register>
    <Register name="RQR" description="Request register" start="+0x18" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXFRQ" description="Transmit data flush request" start="4" size="1" />
      <BitField name="RXFRQ" description="Receive data flush request" start="3" size="1" />
      <BitField name="MMRQ" description="Mute mode request" start="2" size="1" />
      <BitField name="SBKRQ" description="Send break request" start="1" size="1" />
      <BitField name="ABRRQ" description="Auto baud rate request" start="0" size="1" />
    </Register>
    <Register name="ISR" description="Interrupt &amp; status register" start="+0x1C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXFT" description="TXFT" start="27" size="1" />
      <BitField name="RXFT" description="RXFT" start="26" size="1" />
      <BitField name="TCBGT" description="TCBGT" start="25" size="1" />
      <BitField name="RXFF" description="RXFF" start="24" size="1" />
      <BitField name="TXFE" description="TXFE" start="23" size="1" />
      <BitField name="REACK" description="REACK" start="22" size="1" />
      <BitField name="TEACK" description="TEACK" start="21" size="1" />
      <BitField name="WUF" description="WUF" start="20" size="1" />
      <BitField name="RWU" description="RWU" start="19" size="1" />
      <BitField name="SBKF" description="SBKF" start="18" size="1" />
      <BitField name="CMF" description="CMF" start="17" size="1" />
      <BitField name="BUSY" description="BUSY" start="16" size="1" />
      <BitField name="ABRF" description="ABRF" start="15" size="1" />
      <BitField name="ABRE" description="ABRE" start="14" size="1" />
      <BitField name="UDR" description="UDR" start="13" size="1" />
      <BitField name="EOBF" description="EOBF" start="12" size="1" />
      <BitField name="RTOF" description="RTOF" start="11" size="1" />
      <BitField name="CTS" description="CTS" start="10" size="1" />
      <BitField name="CTSIF" description="CTSIF" start="9" size="1" />
      <BitField name="LBDF" description="LBDF" start="8" size="1" />
      <BitField name="TXE" description="TXE" start="7" size="1" />
      <BitField name="TC" description="TC" start="6" size="1" />
      <BitField name="RXNE" description="RXNE" start="5" size="1" />
      <BitField name="IDLE" description="IDLE" start="4" size="1" />
      <BitField name="ORE" description="ORE" start="3" size="1" />
      <BitField name="NF" description="NF" start="2" size="1" />
      <BitField name="FE" description="FE" start="1" size="1" />
      <BitField name="PE" description="PE" start="0" size="1" />
    </Register>
    <Register name="ICR" description="Interrupt flag clear register" start="+0x20" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="WUCF" description="Wakeup from Stop mode clear flag" start="20" size="1" />
      <BitField name="CMCF" description="Character match clear flag" start="17" size="1" />
      <BitField name="UDRCF" description="UDRCF" start="13" size="1" />
      <BitField name="EOBCF" description="End of block clear flag" start="12" size="1" />
      <BitField name="RTOCF" description="Receiver timeout clear flag" start="11" size="1" />
      <BitField name="CTSCF" description="CTS clear flag" start="9" size="1" />
      <BitField name="LBDCF" description="LIN break detection clear flag" start="8" size="1" />
      <BitField name="TCBGTCF" description="TCBGTCF" start="7" size="1" />
      <BitField name="TCCF" description="Transmission complete clear flag" start="6" size="1" />
      <BitField name="TXFECF" description="TXFECF" start="5" size="1" />
      <BitField name="IDLECF" description="Idle line detected clear flag" start="4" size="1" />
      <BitField name="ORECF" description="Overrun error clear flag" start="3" size="1" />
      <BitField name="NCF" description="Noise detected clear flag" start="2" size="1" />
      <BitField name="FECF" description="Framing error clear flag" start="1" size="1" />
      <BitField name="PECF" description="Parity error clear flag" start="0" size="1" />
    </Register>
    <Register name="RDR" description="Receive data register" start="+0x24" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RDR" description="Receive data value" start="0" size="9" />
    </Register>
    <Register name="TDR" description="Transmit data register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TDR" description="Transmit data value" start="0" size="9" />
    </Register>
    <Register name="PRESC" description="USART prescaler register" start="+0x2C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PRESCALER" description="PRESCALER" start="0" size="4" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="USART3" description="Universal synchronous asynchronous receiver transmitter" start="0x40004800">
    <Register name="CR1" description="Control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXFFIE" description="RXFFIE" start="31" size="1" />
      <BitField name="TXFEIE" description="TXFEIE" start="30" size="1" />
      <BitField name="FIFOEN" description="FIFOEN" start="29" size="1" />
      <BitField name="M1" description="M1" start="28" size="1" />
      <BitField name="EOBIE" description="End of Block interrupt enable" start="27" size="1" />
      <BitField name="RTOIE" description="Receiver timeout interrupt enable" start="26" size="1" />
      <BitField name="DEAT4" description="Driver Enable assertion time" start="25" size="1" />
      <BitField name="DEAT3" description="DEAT3" start="24" size="1" />
      <BitField name="DEAT2" description="DEAT2" start="23" size="1" />
      <BitField name="DEAT1" description="DEAT1" start="22" size="1" />
      <BitField name="DEAT0" description="DEAT0" start="21" size="1" />
      <BitField name="DEDT4" description="Driver Enable de-assertion time" start="20" size="1" />
      <BitField name="DEDT3" description="DEDT3" start="19" size="1" />
      <BitField name="DEDT2" description="DEDT2" start="18" size="1" />
      <BitField name="DEDT1" description="DEDT1" start="17" size="1" />
      <BitField name="DEDT0" description="DEDT0" start="16" size="1" />
      <BitField name="OVER8" description="Oversampling mode" start="15" size="1" />
      <BitField name="CMIE" description="Character match interrupt enable" start="14" size="1" />
      <BitField name="MME" description="Mute mode enable" start="13" size="1" />
      <BitField name="M0" description="Word length" start="12" size="1" />
      <BitField name="WAKE" description="Receiver wakeup method" start="11" size="1" />
      <BitField name="PCE" description="Parity control enable" start="10" size="1" />
      <BitField name="PS" description="Parity selection" start="9" size="1" />
      <BitField name="PEIE" description="PE interrupt enable" start="8" size="1" />
      <BitField name="TXEIE" description="interrupt enable" start="7" size="1" />
      <BitField name="TCIE" description="Transmission complete interrupt enable" start="6" size="1" />
      <BitField name="RXNEIE" description="RXNE interrupt enable" start="5" size="1" />
      <BitField name="IDLEIE" description="IDLE interrupt enable" start="4" size="1" />
      <BitField name="TE" description="Transmitter enable" start="3" size="1" />
      <BitField name="RE" description="Receiver enable" start="2" size="1" />
      <BitField name="UESM" description="USART enable in Stop mode" start="1" size="1" />
      <BitField name="UE" description="USART enable" start="0" size="1" />
    </Register>
    <Register name="CR2" description="Control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ADD4_7" description="Address of the USART node" start="28" size="4" />
      <BitField name="ADD0_3" description="Address of the USART node" start="24" size="4" />
      <BitField name="RTOEN" description="Receiver timeout enable" start="23" size="1" />
      <BitField name="ABRMOD1" description="Auto baud rate mode" start="22" size="1" />
      <BitField name="ABRMOD0" description="ABRMOD0" start="21" size="1" />
      <BitField name="ABREN" description="Auto baud rate enable" start="20" size="1" />
      <BitField name="MSBFIRST" description="Most significant bit first" start="19" size="1" />
      <BitField name="TAINV" description="Binary data inversion" start="18" size="1" />
      <BitField name="TXINV" description="TX pin active level inversion" start="17" size="1" />
      <BitField name="RXINV" description="RX pin active level inversion" start="16" size="1" />
      <BitField name="SWAP" description="Swap TX/RX pins" start="15" size="1" />
      <BitField name="LINEN" description="LIN mode enable" start="14" size="1" />
      <BitField name="STOP" description="STOP bits" start="12" size="2" />
      <BitField name="CLKEN" description="Clock enable" start="11" size="1" />
      <BitField name="CPOL" description="Clock polarity" start="10" size="1" />
      <BitField name="CPHA" description="Clock phase" start="9" size="1" />
      <BitField name="LBCL" description="Last bit clock pulse" start="8" size="1" />
      <BitField name="LBDIE" description="LIN break detection interrupt enable" start="6" size="1" />
      <BitField name="LBDL" description="LIN break detection length" start="5" size="1" />
      <BitField name="ADDM7" description="7-bit Address Detection/4-bit Address Detection" start="4" size="1" />
      <BitField name="DIS_NSS" description="DIS_NSS" start="3" size="1" />
      <BitField name="SLVEN" description="SLVEN" start="0" size="1" />
    </Register>
    <Register name="CR3" description="Control register 3" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXFTCFG" description="TXFTCFG" start="29" size="3" />
      <BitField name="RXFTIE" description="RXFTIE" start="28" size="1" />
      <BitField name="RXFTCFG" description="RXFTCFG" start="25" size="3" />
      <BitField name="TCBGTIE" description="TCBGTIE" start="24" size="1" />
      <BitField name="TXFTIE" description="TXFTIE" start="23" size="1" />
      <BitField name="WUFIE" description="Wakeup from Stop mode interrupt enable" start="22" size="1" />
      <BitField name="WUS" description="Wakeup from Stop mode interrupt flag selection" start="20" size="2" />
      <BitField name="SCARCNT" description="Smartcard auto-retry count" start="17" size="3" />
      <BitField name="DEP" description="Driver enable polarity selection" start="15" size="1" />
      <BitField name="DEM" description="Driver enable mode" start="14" size="1" />
      <BitField name="DDRE" description="DMA Disable on Reception Error" start="13" size="1" />
      <BitField name="OVRDIS" description="Overrun Disable" start="12" size="1" />
      <BitField name="ONEBIT" description="One sample bit method enable" start="11" size="1" />
      <BitField name="CTSIE" description="CTS interrupt enable" start="10" size="1" />
      <BitField name="CTSE" description="CTS enable" start="9" size="1" />
      <BitField name="RTSE" description="RTS enable" start="8" size="1" />
      <BitField name="DMAT" description="DMA enable transmitter" start="7" size="1" />
      <BitField name="DMAR" description="DMA enable receiver" start="6" size="1" />
      <BitField name="SCEN" description="Smartcard mode enable" start="5" size="1" />
      <BitField name="NACK" description="Smartcard NACK enable" start="4" size="1" />
      <BitField name="HDSEL" description="Half-duplex selection" start="3" size="1" />
      <BitField name="IRLP" description="Ir low-power" start="2" size="1" />
      <BitField name="IREN" description="Ir mode enable" start="1" size="1" />
      <BitField name="EIE" description="Error interrupt enable" start="0" size="1" />
    </Register>
    <Register name="BRR" description="Baud rate register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DIV_Mantissa" description="DIV_Mantissa" start="4" size="12" />
      <BitField name="DIV_Fraction" description="DIV_Fraction" start="0" size="4" />
    </Register>
    <Register name="GTPR" description="Guard time and prescaler register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="GT" description="Guard time value" start="8" size="8" />
      <BitField name="PSC" description="Prescaler value" start="0" size="8" />
    </Register>
    <Register name="RTOR" description="Receiver timeout register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BLEN" description="Block Length" start="24" size="8" />
      <BitField name="RTO" description="Receiver timeout value" start="0" size="24" />
    </Register>
    <Register name="RQR" description="Request register" start="+0x18" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXFRQ" description="Transmit data flush request" start="4" size="1" />
      <BitField name="RXFRQ" description="Receive data flush request" start="3" size="1" />
      <BitField name="MMRQ" description="Mute mode request" start="2" size="1" />
      <BitField name="SBKRQ" description="Send break request" start="1" size="1" />
      <BitField name="ABRRQ" description="Auto baud rate request" start="0" size="1" />
    </Register>
    <Register name="ISR" description="Interrupt &amp; status register" start="+0x1C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXFT" description="TXFT" start="27" size="1" />
      <BitField name="RXFT" description="RXFT" start="26" size="1" />
      <BitField name="TCBGT" description="TCBGT" start="25" size="1" />
      <BitField name="RXFF" description="RXFF" start="24" size="1" />
      <BitField name="TXFE" description="TXFE" start="23" size="1" />
      <BitField name="REACK" description="REACK" start="22" size="1" />
      <BitField name="TEACK" description="TEACK" start="21" size="1" />
      <BitField name="WUF" description="WUF" start="20" size="1" />
      <BitField name="RWU" description="RWU" start="19" size="1" />
      <BitField name="SBKF" description="SBKF" start="18" size="1" />
      <BitField name="CMF" description="CMF" start="17" size="1" />
      <BitField name="BUSY" description="BUSY" start="16" size="1" />
      <BitField name="ABRF" description="ABRF" start="15" size="1" />
      <BitField name="ABRE" description="ABRE" start="14" size="1" />
      <BitField name="UDR" description="UDR" start="13" size="1" />
      <BitField name="EOBF" description="EOBF" start="12" size="1" />
      <BitField name="RTOF" description="RTOF" start="11" size="1" />
      <BitField name="CTS" description="CTS" start="10" size="1" />
      <BitField name="CTSIF" description="CTSIF" start="9" size="1" />
      <BitField name="LBDF" description="LBDF" start="8" size="1" />
      <BitField name="TXE" description="TXE" start="7" size="1" />
      <BitField name="TC" description="TC" start="6" size="1" />
      <BitField name="RXNE" description="RXNE" start="5" size="1" />
      <BitField name="IDLE" description="IDLE" start="4" size="1" />
      <BitField name="ORE" description="ORE" start="3" size="1" />
      <BitField name="NF" description="NF" start="2" size="1" />
      <BitField name="FE" description="FE" start="1" size="1" />
      <BitField name="PE" description="PE" start="0" size="1" />
    </Register>
    <Register name="ICR" description="Interrupt flag clear register" start="+0x20" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="WUCF" description="Wakeup from Stop mode clear flag" start="20" size="1" />
      <BitField name="CMCF" description="Character match clear flag" start="17" size="1" />
      <BitField name="UDRCF" description="UDRCF" start="13" size="1" />
      <BitField name="EOBCF" description="End of block clear flag" start="12" size="1" />
      <BitField name="RTOCF" description="Receiver timeout clear flag" start="11" size="1" />
      <BitField name="CTSCF" description="CTS clear flag" start="9" size="1" />
      <BitField name="LBDCF" description="LIN break detection clear flag" start="8" size="1" />
      <BitField name="TCBGTCF" description="TCBGTCF" start="7" size="1" />
      <BitField name="TCCF" description="Transmission complete clear flag" start="6" size="1" />
      <BitField name="TXFECF" description="TXFECF" start="5" size="1" />
      <BitField name="IDLECF" description="Idle line detected clear flag" start="4" size="1" />
      <BitField name="ORECF" description="Overrun error clear flag" start="3" size="1" />
      <BitField name="NCF" description="Noise detected clear flag" start="2" size="1" />
      <BitField name="FECF" description="Framing error clear flag" start="1" size="1" />
      <BitField name="PECF" description="Parity error clear flag" start="0" size="1" />
    </Register>
    <Register name="RDR" description="Receive data register" start="+0x24" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RDR" description="Receive data value" start="0" size="9" />
    </Register>
    <Register name="TDR" description="Transmit data register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TDR" description="Transmit data value" start="0" size="9" />
    </Register>
    <Register name="PRESC" description="USART prescaler register" start="+0x2C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PRESCALER" description="PRESCALER" start="0" size="4" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="UART4" description="Universal synchronous asynchronous receiver transmitter" start="0x40004C00">
    <Register name="CR1" description="Control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXFFIE" description="RXFFIE" start="31" size="1" />
      <BitField name="TXFEIE" description="TXFEIE" start="30" size="1" />
      <BitField name="FIFOEN" description="FIFOEN" start="29" size="1" />
      <BitField name="M1" description="M1" start="28" size="1" />
      <BitField name="EOBIE" description="End of Block interrupt enable" start="27" size="1" />
      <BitField name="RTOIE" description="Receiver timeout interrupt enable" start="26" size="1" />
      <BitField name="DEAT4" description="Driver Enable assertion time" start="25" size="1" />
      <BitField name="DEAT3" description="DEAT3" start="24" size="1" />
      <BitField name="DEAT2" description="DEAT2" start="23" size="1" />
      <BitField name="DEAT1" description="DEAT1" start="22" size="1" />
      <BitField name="DEAT0" description="DEAT0" start="21" size="1" />
      <BitField name="DEDT4" description="Driver Enable de-assertion time" start="20" size="1" />
      <BitField name="DEDT3" description="DEDT3" start="19" size="1" />
      <BitField name="DEDT2" description="DEDT2" start="18" size="1" />
      <BitField name="DEDT1" description="DEDT1" start="17" size="1" />
      <BitField name="DEDT0" description="DEDT0" start="16" size="1" />
      <BitField name="OVER8" description="Oversampling mode" start="15" size="1" />
      <BitField name="CMIE" description="Character match interrupt enable" start="14" size="1" />
      <BitField name="MME" description="Mute mode enable" start="13" size="1" />
      <BitField name="M0" description="Word length" start="12" size="1" />
      <BitField name="WAKE" description="Receiver wakeup method" start="11" size="1" />
      <BitField name="PCE" description="Parity control enable" start="10" size="1" />
      <BitField name="PS" description="Parity selection" start="9" size="1" />
      <BitField name="PEIE" description="PE interrupt enable" start="8" size="1" />
      <BitField name="TXEIE" description="interrupt enable" start="7" size="1" />
      <BitField name="TCIE" description="Transmission complete interrupt enable" start="6" size="1" />
      <BitField name="RXNEIE" description="RXNE interrupt enable" start="5" size="1" />
      <BitField name="IDLEIE" description="IDLE interrupt enable" start="4" size="1" />
      <BitField name="TE" description="Transmitter enable" start="3" size="1" />
      <BitField name="RE" description="Receiver enable" start="2" size="1" />
      <BitField name="UESM" description="USART enable in Stop mode" start="1" size="1" />
      <BitField name="UE" description="USART enable" start="0" size="1" />
    </Register>
    <Register name="CR2" description="Control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ADD4_7" description="Address of the USART node" start="28" size="4" />
      <BitField name="ADD0_3" description="Address of the USART node" start="24" size="4" />
      <BitField name="RTOEN" description="Receiver timeout enable" start="23" size="1" />
      <BitField name="ABRMOD1" description="Auto baud rate mode" start="22" size="1" />
      <BitField name="ABRMOD0" description="ABRMOD0" start="21" size="1" />
      <BitField name="ABREN" description="Auto baud rate enable" start="20" size="1" />
      <BitField name="MSBFIRST" description="Most significant bit first" start="19" size="1" />
      <BitField name="TAINV" description="Binary data inversion" start="18" size="1" />
      <BitField name="TXINV" description="TX pin active level inversion" start="17" size="1" />
      <BitField name="RXINV" description="RX pin active level inversion" start="16" size="1" />
      <BitField name="SWAP" description="Swap TX/RX pins" start="15" size="1" />
      <BitField name="LINEN" description="LIN mode enable" start="14" size="1" />
      <BitField name="STOP" description="STOP bits" start="12" size="2" />
      <BitField name="CLKEN" description="Clock enable" start="11" size="1" />
      <BitField name="CPOL" description="Clock polarity" start="10" size="1" />
      <BitField name="CPHA" description="Clock phase" start="9" size="1" />
      <BitField name="LBCL" description="Last bit clock pulse" start="8" size="1" />
      <BitField name="LBDIE" description="LIN break detection interrupt enable" start="6" size="1" />
      <BitField name="LBDL" description="LIN break detection length" start="5" size="1" />
      <BitField name="ADDM7" description="7-bit Address Detection/4-bit Address Detection" start="4" size="1" />
      <BitField name="DIS_NSS" description="DIS_NSS" start="3" size="1" />
      <BitField name="SLVEN" description="SLVEN" start="0" size="1" />
    </Register>
    <Register name="CR3" description="Control register 3" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXFTCFG" description="TXFTCFG" start="29" size="3" />
      <BitField name="RXFTIE" description="RXFTIE" start="28" size="1" />
      <BitField name="RXFTCFG" description="RXFTCFG" start="25" size="3" />
      <BitField name="TCBGTIE" description="TCBGTIE" start="24" size="1" />
      <BitField name="TXFTIE" description="TXFTIE" start="23" size="1" />
      <BitField name="WUFIE" description="Wakeup from Stop mode interrupt enable" start="22" size="1" />
      <BitField name="WUS" description="Wakeup from Stop mode interrupt flag selection" start="20" size="2" />
      <BitField name="SCARCNT" description="Smartcard auto-retry count" start="17" size="3" />
      <BitField name="DEP" description="Driver enable polarity selection" start="15" size="1" />
      <BitField name="DEM" description="Driver enable mode" start="14" size="1" />
      <BitField name="DDRE" description="DMA Disable on Reception Error" start="13" size="1" />
      <BitField name="OVRDIS" description="Overrun Disable" start="12" size="1" />
      <BitField name="ONEBIT" description="One sample bit method enable" start="11" size="1" />
      <BitField name="CTSIE" description="CTS interrupt enable" start="10" size="1" />
      <BitField name="CTSE" description="CTS enable" start="9" size="1" />
      <BitField name="RTSE" description="RTS enable" start="8" size="1" />
      <BitField name="DMAT" description="DMA enable transmitter" start="7" size="1" />
      <BitField name="DMAR" description="DMA enable receiver" start="6" size="1" />
      <BitField name="SCEN" description="Smartcard mode enable" start="5" size="1" />
      <BitField name="NACK" description="Smartcard NACK enable" start="4" size="1" />
      <BitField name="HDSEL" description="Half-duplex selection" start="3" size="1" />
      <BitField name="IRLP" description="Ir low-power" start="2" size="1" />
      <BitField name="IREN" description="Ir mode enable" start="1" size="1" />
      <BitField name="EIE" description="Error interrupt enable" start="0" size="1" />
    </Register>
    <Register name="BRR" description="Baud rate register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DIV_Mantissa" description="DIV_Mantissa" start="4" size="12" />
      <BitField name="DIV_Fraction" description="DIV_Fraction" start="0" size="4" />
    </Register>
    <Register name="GTPR" description="Guard time and prescaler register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="GT" description="Guard time value" start="8" size="8" />
      <BitField name="PSC" description="Prescaler value" start="0" size="8" />
    </Register>
    <Register name="RTOR" description="Receiver timeout register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BLEN" description="Block Length" start="24" size="8" />
      <BitField name="RTO" description="Receiver timeout value" start="0" size="24" />
    </Register>
    <Register name="RQR" description="Request register" start="+0x18" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXFRQ" description="Transmit data flush request" start="4" size="1" />
      <BitField name="RXFRQ" description="Receive data flush request" start="3" size="1" />
      <BitField name="MMRQ" description="Mute mode request" start="2" size="1" />
      <BitField name="SBKRQ" description="Send break request" start="1" size="1" />
      <BitField name="ABRRQ" description="Auto baud rate request" start="0" size="1" />
    </Register>
    <Register name="ISR" description="Interrupt &amp; status register" start="+0x1C" size="4" access="ReadOnly" reset_value="0x000000C0" reset_mask="0xFFFFFFFF">
      <BitField name="TXFT" description="TXFT" start="27" size="1" />
      <BitField name="RXFT" description="RXFT" start="26" size="1" />
      <BitField name="TCBGT" description="TCBGT" start="25" size="1" />
      <BitField name="RXFF" description="RXFF" start="24" size="1" />
      <BitField name="TXFE" description="TXFE" start="23" size="1" />
      <BitField name="REACK" description="REACK" start="22" size="1" />
      <BitField name="TEACK" description="TEACK" start="21" size="1" />
      <BitField name="WUF" description="WUF" start="20" size="1" />
      <BitField name="RWU" description="RWU" start="19" size="1" />
      <BitField name="SBKF" description="SBKF" start="18" size="1" />
      <BitField name="CMF" description="CMF" start="17" size="1" />
      <BitField name="BUSY" description="BUSY" start="16" size="1" />
      <BitField name="ABRF" description="ABRF" start="15" size="1" />
      <BitField name="ABRE" description="ABRE" start="14" size="1" />
      <BitField name="UDR" description="UDR" start="13" size="1" />
      <BitField name="EOBF" description="EOBF" start="12" size="1" />
      <BitField name="RTOF" description="RTOF" start="11" size="1" />
      <BitField name="CTS" description="CTS" start="10" size="1" />
      <BitField name="CTSIF" description="CTSIF" start="9" size="1" />
      <BitField name="LBDF" description="LBDF" start="8" size="1" />
      <BitField name="TXE" description="TXE" start="7" size="1" />
      <BitField name="TC" description="TC" start="6" size="1" />
      <BitField name="RXNE" description="RXNE" start="5" size="1" />
      <BitField name="IDLE" description="IDLE" start="4" size="1" />
      <BitField name="ORE" description="ORE" start="3" size="1" />
      <BitField name="NF" description="NF" start="2" size="1" />
      <BitField name="FE" description="FE" start="1" size="1" />
      <BitField name="PE" description="PE" start="0" size="1" />
    </Register>
    <Register name="ICR" description="Interrupt flag clear register" start="+0x20" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="WUCF" description="Wakeup from Stop mode clear flag" start="20" size="1" />
      <BitField name="CMCF" description="Character match clear flag" start="17" size="1" />
      <BitField name="UDRCF" description="UDRCF" start="13" size="1" />
      <BitField name="EOBCF" description="End of block clear flag" start="12" size="1" />
      <BitField name="RTOCF" description="Receiver timeout clear flag" start="11" size="1" />
      <BitField name="CTSCF" description="CTS clear flag" start="9" size="1" />
      <BitField name="LBDCF" description="LIN break detection clear flag" start="8" size="1" />
      <BitField name="TCBGTCF" description="TCBGTCF" start="7" size="1" />
      <BitField name="TCCF" description="Transmission complete clear flag" start="6" size="1" />
      <BitField name="TXFECF" description="TXFECF" start="5" size="1" />
      <BitField name="IDLECF" description="Idle line detected clear flag" start="4" size="1" />
      <BitField name="ORECF" description="Overrun error clear flag" start="3" size="1" />
      <BitField name="NCF" description="Noise detected clear flag" start="2" size="1" />
      <BitField name="FECF" description="Framing error clear flag" start="1" size="1" />
      <BitField name="PECF" description="Parity error clear flag" start="0" size="1" />
    </Register>
    <Register name="RDR" description="Receive data register" start="+0x24" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RDR" description="Receive data value" start="0" size="9" />
    </Register>
    <Register name="TDR" description="Transmit data register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TDR" description="Transmit data value" start="0" size="9" />
    </Register>
    <Register name="PRESC" description="USART prescaler register" start="+0x2C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PRESCALER" description="PRESCALER" start="0" size="4" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="UART5" description="Universal synchronous asynchronous receiver transmitter" start="0x40005000">
    <Register name="CR1" description="Control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXFFIE" description="RXFFIE" start="31" size="1" />
      <BitField name="TXFEIE" description="TXFEIE" start="30" size="1" />
      <BitField name="FIFOEN" description="FIFOEN" start="29" size="1" />
      <BitField name="M1" description="M1" start="28" size="1" />
      <BitField name="EOBIE" description="End of Block interrupt enable" start="27" size="1" />
      <BitField name="RTOIE" description="Receiver timeout interrupt enable" start="26" size="1" />
      <BitField name="DEAT4" description="Driver Enable assertion time" start="25" size="1" />
      <BitField name="DEAT3" description="DEAT3" start="24" size="1" />
      <BitField name="DEAT2" description="DEAT2" start="23" size="1" />
      <BitField name="DEAT1" description="DEAT1" start="22" size="1" />
      <BitField name="DEAT0" description="DEAT0" start="21" size="1" />
      <BitField name="DEDT4" description="Driver Enable de-assertion time" start="20" size="1" />
      <BitField name="DEDT3" description="DEDT3" start="19" size="1" />
      <BitField name="DEDT2" description="DEDT2" start="18" size="1" />
      <BitField name="DEDT1" description="DEDT1" start="17" size="1" />
      <BitField name="DEDT0" description="DEDT0" start="16" size="1" />
      <BitField name="OVER8" description="Oversampling mode" start="15" size="1" />
      <BitField name="CMIE" description="Character match interrupt enable" start="14" size="1" />
      <BitField name="MME" description="Mute mode enable" start="13" size="1" />
      <BitField name="M0" description="Word length" start="12" size="1" />
      <BitField name="WAKE" description="Receiver wakeup method" start="11" size="1" />
      <BitField name="PCE" description="Parity control enable" start="10" size="1" />
      <BitField name="PS" description="Parity selection" start="9" size="1" />
      <BitField name="PEIE" description="PE interrupt enable" start="8" size="1" />
      <BitField name="TXEIE" description="interrupt enable" start="7" size="1" />
      <BitField name="TCIE" description="Transmission complete interrupt enable" start="6" size="1" />
      <BitField name="RXNEIE" description="RXNE interrupt enable" start="5" size="1" />
      <BitField name="IDLEIE" description="IDLE interrupt enable" start="4" size="1" />
      <BitField name="TE" description="Transmitter enable" start="3" size="1" />
      <BitField name="RE" description="Receiver enable" start="2" size="1" />
      <BitField name="UESM" description="USART enable in Stop mode" start="1" size="1" />
      <BitField name="UE" description="USART enable" start="0" size="1" />
    </Register>
    <Register name="CR2" description="Control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ADD4_7" description="Address of the USART node" start="28" size="4" />
      <BitField name="ADD0_3" description="Address of the USART node" start="24" size="4" />
      <BitField name="RTOEN" description="Receiver timeout enable" start="23" size="1" />
      <BitField name="ABRMOD1" description="Auto baud rate mode" start="22" size="1" />
      <BitField name="ABRMOD0" description="ABRMOD0" start="21" size="1" />
      <BitField name="ABREN" description="Auto baud rate enable" start="20" size="1" />
      <BitField name="MSBFIRST" description="Most significant bit first" start="19" size="1" />
      <BitField name="TAINV" description="Binary data inversion" start="18" size="1" />
      <BitField name="TXINV" description="TX pin active level inversion" start="17" size="1" />
      <BitField name="RXINV" description="RX pin active level inversion" start="16" size="1" />
      <BitField name="SWAP" description="Swap TX/RX pins" start="15" size="1" />
      <BitField name="LINEN" description="LIN mode enable" start="14" size="1" />
      <BitField name="STOP" description="STOP bits" start="12" size="2" />
      <BitField name="CLKEN" description="Clock enable" start="11" size="1" />
      <BitField name="CPOL" description="Clock polarity" start="10" size="1" />
      <BitField name="CPHA" description="Clock phase" start="9" size="1" />
      <BitField name="LBCL" description="Last bit clock pulse" start="8" size="1" />
      <BitField name="LBDIE" description="LIN break detection interrupt enable" start="6" size="1" />
      <BitField name="LBDL" description="LIN break detection length" start="5" size="1" />
      <BitField name="ADDM7" description="7-bit Address Detection/4-bit Address Detection" start="4" size="1" />
      <BitField name="DIS_NSS" description="DIS_NSS" start="3" size="1" />
      <BitField name="SLVEN" description="SLVEN" start="0" size="1" />
    </Register>
    <Register name="CR3" description="Control register 3" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXFTCFG" description="TXFTCFG" start="29" size="3" />
      <BitField name="RXFTIE" description="RXFTIE" start="28" size="1" />
      <BitField name="RXFTCFG" description="RXFTCFG" start="25" size="3" />
      <BitField name="TCBGTIE" description="TCBGTIE" start="24" size="1" />
      <BitField name="TXFTIE" description="TXFTIE" start="23" size="1" />
      <BitField name="WUFIE" description="Wakeup from Stop mode interrupt enable" start="22" size="1" />
      <BitField name="WUS" description="Wakeup from Stop mode interrupt flag selection" start="20" size="2" />
      <BitField name="SCARCNT" description="Smartcard auto-retry count" start="17" size="3" />
      <BitField name="DEP" description="Driver enable polarity selection" start="15" size="1" />
      <BitField name="DEM" description="Driver enable mode" start="14" size="1" />
      <BitField name="DDRE" description="DMA Disable on Reception Error" start="13" size="1" />
      <BitField name="OVRDIS" description="Overrun Disable" start="12" size="1" />
      <BitField name="ONEBIT" description="One sample bit method enable" start="11" size="1" />
      <BitField name="CTSIE" description="CTS interrupt enable" start="10" size="1" />
      <BitField name="CTSE" description="CTS enable" start="9" size="1" />
      <BitField name="RTSE" description="RTS enable" start="8" size="1" />
      <BitField name="DMAT" description="DMA enable transmitter" start="7" size="1" />
      <BitField name="DMAR" description="DMA enable receiver" start="6" size="1" />
      <BitField name="SCEN" description="Smartcard mode enable" start="5" size="1" />
      <BitField name="NACK" description="Smartcard NACK enable" start="4" size="1" />
      <BitField name="HDSEL" description="Half-duplex selection" start="3" size="1" />
      <BitField name="IRLP" description="Ir low-power" start="2" size="1" />
      <BitField name="IREN" description="Ir mode enable" start="1" size="1" />
      <BitField name="EIE" description="Error interrupt enable" start="0" size="1" />
    </Register>
    <Register name="BRR" description="Baud rate register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DIV_Mantissa" description="DIV_Mantissa" start="4" size="12" />
      <BitField name="DIV_Fraction" description="DIV_Fraction" start="0" size="4" />
    </Register>
    <Register name="GTPR" description="Guard time and prescaler register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="GT" description="Guard time value" start="8" size="8" />
      <BitField name="PSC" description="Prescaler value" start="0" size="8" />
    </Register>
    <Register name="RTOR" description="Receiver timeout register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BLEN" description="Block Length" start="24" size="8" />
      <BitField name="RTO" description="Receiver timeout value" start="0" size="24" />
    </Register>
    <Register name="RQR" description="Request register" start="+0x18" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXFRQ" description="Transmit data flush request" start="4" size="1" />
      <BitField name="RXFRQ" description="Receive data flush request" start="3" size="1" />
      <BitField name="MMRQ" description="Mute mode request" start="2" size="1" />
      <BitField name="SBKRQ" description="Send break request" start="1" size="1" />
      <BitField name="ABRRQ" description="Auto baud rate request" start="0" size="1" />
    </Register>
    <Register name="ISR" description="Interrupt &amp; status register" start="+0x1C" size="4" access="ReadOnly" reset_value="0x000000C0" reset_mask="0xFFFFFFFF">
      <BitField name="TXFT" description="TXFT" start="27" size="1" />
      <BitField name="RXFT" description="RXFT" start="26" size="1" />
      <BitField name="TCBGT" description="TCBGT" start="25" size="1" />
      <BitField name="RXFF" description="RXFF" start="24" size="1" />
      <BitField name="TXFE" description="TXFE" start="23" size="1" />
      <BitField name="REACK" description="REACK" start="22" size="1" />
      <BitField name="TEACK" description="TEACK" start="21" size="1" />
      <BitField name="WUF" description="WUF" start="20" size="1" />
      <BitField name="RWU" description="RWU" start="19" size="1" />
      <BitField name="SBKF" description="SBKF" start="18" size="1" />
      <BitField name="CMF" description="CMF" start="17" size="1" />
      <BitField name="BUSY" description="BUSY" start="16" size="1" />
      <BitField name="ABRF" description="ABRF" start="15" size="1" />
      <BitField name="ABRE" description="ABRE" start="14" size="1" />
      <BitField name="UDR" description="UDR" start="13" size="1" />
      <BitField name="EOBF" description="EOBF" start="12" size="1" />
      <BitField name="RTOF" description="RTOF" start="11" size="1" />
      <BitField name="CTS" description="CTS" start="10" size="1" />
      <BitField name="CTSIF" description="CTSIF" start="9" size="1" />
      <BitField name="LBDF" description="LBDF" start="8" size="1" />
      <BitField name="TXE" description="TXE" start="7" size="1" />
      <BitField name="TC" description="TC" start="6" size="1" />
      <BitField name="RXNE" description="RXNE" start="5" size="1" />
      <BitField name="IDLE" description="IDLE" start="4" size="1" />
      <BitField name="ORE" description="ORE" start="3" size="1" />
      <BitField name="NF" description="NF" start="2" size="1" />
      <BitField name="FE" description="FE" start="1" size="1" />
      <BitField name="PE" description="PE" start="0" size="1" />
    </Register>
    <Register name="ICR" description="Interrupt flag clear register" start="+0x20" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="WUCF" description="Wakeup from Stop mode clear flag" start="20" size="1" />
      <BitField name="CMCF" description="Character match clear flag" start="17" size="1" />
      <BitField name="UDRCF" description="UDRCF" start="13" size="1" />
      <BitField name="EOBCF" description="End of block clear flag" start="12" size="1" />
      <BitField name="RTOCF" description="Receiver timeout clear flag" start="11" size="1" />
      <BitField name="CTSCF" description="CTS clear flag" start="9" size="1" />
      <BitField name="LBDCF" description="LIN break detection clear flag" start="8" size="1" />
      <BitField name="TCBGTCF" description="TCBGTCF" start="7" size="1" />
      <BitField name="TCCF" description="Transmission complete clear flag" start="6" size="1" />
      <BitField name="TXFECF" description="TXFECF" start="5" size="1" />
      <BitField name="IDLECF" description="Idle line detected clear flag" start="4" size="1" />
      <BitField name="ORECF" description="Overrun error clear flag" start="3" size="1" />
      <BitField name="NCF" description="Noise detected clear flag" start="2" size="1" />
      <BitField name="FECF" description="Framing error clear flag" start="1" size="1" />
      <BitField name="PECF" description="Parity error clear flag" start="0" size="1" />
    </Register>
    <Register name="RDR" description="Receive data register" start="+0x24" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RDR" description="Receive data value" start="0" size="9" />
    </Register>
    <Register name="TDR" description="Transmit data register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TDR" description="Transmit data value" start="0" size="9" />
    </Register>
    <Register name="PRESC" description="USART prescaler register" start="+0x2C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PRESCALER" description="PRESCALER" start="0" size="4" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="LPUART1" description="Universal synchronous asynchronous receiver transmitter" start="0x40008000">
    <Register name="CR1" description="Control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField name="RXFFIE" description="RXFFIE" start="31" size="1" />
      <BitField name="TXFEIE" description="TXFEIE" start="30" size="1" />
      <BitField name="FIFOEN" description="FIFOEN" start="29" size="1" />
      <BitField name="M1" description="Word length" start="28" size="1" />
      <BitField name="DEAT4" description="Driver Enable assertion time" start="25" size="1" />
      <BitField name="DEAT3" description="DEAT3" start="24" size="1" />
      <BitField name="DEAT2" description="DEAT2" start="23" size="1" />
      <BitField name="DEAT1" description="DEAT1" start="22" size="1" />
      <BitField name="DEAT0" description="DEAT0" start="21" size="1" />
      <BitField name="DEDT4" description="Driver Enable de-assertion time" start="20" size="1" />
      <BitField name="DEDT3" description="DEDT3" start="19" size="1" />
      <BitField name="DEDT2" description="DEDT2" start="18" size="1" />
      <BitField name="DEDT1" description="DEDT1" start="17" size="1" />
      <BitField name="DEDT0" description="DEDT0" start="16" size="1" />
      <BitField name="CMIE" description="Character match interrupt enable" start="14" size="1" />
      <BitField name="MME" description="Mute mode enable" start="13" size="1" />
      <BitField name="M0" description="Word length" start="12" size="1" />
      <BitField name="WAKE" description="Receiver wakeup method" start="11" size="1" />
      <BitField name="PCE" description="Parity control enable" start="10" size="1" />
      <BitField name="PS" description="Parity selection" start="9" size="1" />
      <BitField name="PEIE" description="PE interrupt enable" start="8" size="1" />
      <BitField name="TXEIE" description="interrupt enable" start="7" size="1" />
      <BitField name="TCIE" description="Transmission complete interrupt enable" start="6" size="1" />
      <BitField name="RXNEIE" description="RXNE interrupt enable" start="5" size="1" />
      <BitField name="IDLEIE" description="IDLE interrupt enable" start="4" size="1" />
      <BitField name="TE" description="Transmitter enable" start="3" size="1" />
      <BitField name="RE" description="Receiver enable" start="2" size="1" />
      <BitField name="UESM" description="USART enable in Stop mode" start="1" size="1" />
      <BitField name="UE" description="USART enable" start="0" size="1" />
    </Register>
    <Register name="CR2" description="Control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField name="ADD4_7" description="Address of the USART node" start="28" size="4" />
      <BitField name="ADD0_3" description="Address of the USART node" start="24" size="4" />
      <BitField name="MSBFIRST" description="Most significant bit first" start="19" size="1" />
      <BitField name="TAINV" description="Binary data inversion" start="18" size="1" />
      <BitField name="TXINV" description="TX pin active level inversion" start="17" size="1" />
      <BitField name="RXINV" description="RX pin active level inversion" start="16" size="1" />
      <BitField name="SWAP" description="Swap TX/RX pins" start="15" size="1" />
      <BitField name="STOP" description="STOP bits" start="12" size="2" />
      <BitField name="ADDM7" description="7-bit Address Detection/4-bit Address Detection" start="4" size="1" />
    </Register>
    <Register name="CR3" description="Control register 3" start="+0x8" size="4" access="Read/Write" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField name="TXFTCFG" description="TXFTCFG" start="29" size="3" />
      <BitField name="RXFTIE" description="RXFTIE" start="28" size="1" />
      <BitField name="RXFTCFG" description="RXFTCFG" start="25" size="3" />
      <BitField name="TXFTIE" description="TXFTIE" start="23" size="1" />
      <BitField name="WUFIE" description="Wakeup from Stop mode interrupt enable" start="22" size="1" />
      <BitField name="WUS" description="Wakeup from Stop mode interrupt flag selection" start="20" size="2" />
      <BitField name="DEP" description="Driver enable polarity selection" start="15" size="1" />
      <BitField name="DEM" description="Driver enable mode" start="14" size="1" />
      <BitField name="DDRE" description="DMA Disable on Reception Error" start="13" size="1" />
      <BitField name="OVRDIS" description="Overrun Disable" start="12" size="1" />
      <BitField name="CTSIE" description="CTS interrupt enable" start="10" size="1" />
      <BitField name="CTSE" description="CTS enable" start="9" size="1" />
      <BitField name="RTSE" description="RTS enable" start="8" size="1" />
      <BitField name="DMAT" description="DMA enable transmitter" start="7" size="1" />
      <BitField name="DMAR" description="DMA enable receiver" start="6" size="1" />
      <BitField name="HDSEL" description="Half-duplex selection" start="3" size="1" />
      <BitField name="EIE" description="Error interrupt enable" start="0" size="1" />
    </Register>
    <Register name="BRR" description="Baud rate register" start="+0xC" size="4" access="Read/Write" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField name="BRR" description="BRR" start="0" size="20" />
    </Register>
    <Register name="RQR" description="Request register" start="+0x18" size="4" access="WriteOnly" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField name="TXFRQ" description="TXFRQ" start="4" size="1" />
      <BitField name="RXFRQ" description="Receive data flush request" start="3" size="1" />
      <BitField name="MMRQ" description="Mute mode request" start="2" size="1" />
      <BitField name="SBKRQ" description="Send break request" start="1" size="1" />
    </Register>
    <Register name="ISR" description="Interrupt &amp; status register" start="+0x1C" size="4" access="ReadOnly" reset_value="0x00C0" reset_mask="0xFFFFFFFF">
      <BitField name="TXFT" description="TXFT" start="27" size="1" />
      <BitField name="RXFT" description="RXFT" start="26" size="1" />
      <BitField name="RXFF" description="RXFF" start="24" size="1" />
      <BitField name="TXFE" description="TXFE" start="23" size="1" />
      <BitField name="REACK" description="REACK" start="22" size="1" />
      <BitField name="TEACK" description="TEACK" start="21" size="1" />
      <BitField name="WUF" description="WUF" start="20" size="1" />
      <BitField name="RWU" description="RWU" start="19" size="1" />
      <BitField name="SBKF" description="SBKF" start="18" size="1" />
      <BitField name="CMF" description="CMF" start="17" size="1" />
      <BitField name="BUSY" description="BUSY" start="16" size="1" />
      <BitField name="CTS" description="CTS" start="10" size="1" />
      <BitField name="CTSIF" description="CTSIF" start="9" size="1" />
      <BitField name="TXE" description="TXE" start="7" size="1" />
      <BitField name="TC" description="TC" start="6" size="1" />
      <BitField name="RXNE" description="RXNE" start="5" size="1" />
      <BitField name="IDLE" description="IDLE" start="4" size="1" />
      <BitField name="ORE" description="ORE" start="3" size="1" />
      <BitField name="NF" description="NF" start="2" size="1" />
      <BitField name="FE" description="FE" start="1" size="1" />
      <BitField name="PE" description="PE" start="0" size="1" />
    </Register>
    <Register name="ICR" description="Interrupt flag clear register" start="+0x20" size="4" access="WriteOnly" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField name="WUCF" description="Wakeup from Stop mode clear flag" start="20" size="1" />
      <BitField name="CMCF" description="Character match clear flag" start="17" size="1" />
      <BitField name="CTSCF" description="CTS clear flag" start="9" size="1" />
      <BitField name="TCCF" description="Transmission complete clear flag" start="6" size="1" />
      <BitField name="IDLECF" description="Idle line detected clear flag" start="4" size="1" />
      <BitField name="ORECF" description="Overrun error clear flag" start="3" size="1" />
      <BitField name="NCF" description="Noise detected clear flag" start="2" size="1" />
      <BitField name="FECF" description="Framing error clear flag" start="1" size="1" />
      <BitField name="PECF" description="Parity error clear flag" start="0" size="1" />
    </Register>
    <Register name="RDR" description="Receive data register" start="+0x24" size="4" access="ReadOnly" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField name="RDR" description="Receive data value" start="0" size="9" />
    </Register>
    <Register name="TDR" description="Transmit data register" start="+0x28" size="4" access="Read/Write" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField name="TDR" description="Transmit data value" start="0" size="9" />
    </Register>
    <Register name="PRESC" description="Prescaler register" start="+0x2C" size="4" access="Read/Write" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField name="PRESCALER" description="PRESCALER" start="0" size="4" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="SPI1" description="Serial peripheral interface/Inter-IC sound" start="0x40013000">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BIDIMODE" description="Bidirectional data mode enable" start="15" size="1" />
      <BitField name="BIDIOE" description="Output enable in bidirectional mode" start="14" size="1" />
      <BitField name="CRCEN" description="Hardware CRC calculation enable" start="13" size="1" />
      <BitField name="CRCNEXT" description="CRC transfer next" start="12" size="1" />
      <BitField name="DFF" description="Data frame format" start="11" size="1" />
      <BitField name="RXONLY" description="Receive only" start="10" size="1" />
      <BitField name="SSM" description="Software slave management" start="9" size="1" />
      <BitField name="SSI" description="Internal slave select" start="8" size="1" />
      <BitField name="LSBFIRST" description="Frame format" start="7" size="1" />
      <BitField name="SPE" description="SPI enable" start="6" size="1" />
      <BitField name="BR" description="Baud rate control" start="3" size="3" />
      <BitField name="MSTR" description="Master selection" start="2" size="1" />
      <BitField name="CPOL" description="Clock polarity" start="1" size="1" />
      <BitField name="CPHA" description="Clock phase" start="0" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000700" reset_mask="0xFFFFFFFF">
      <BitField name="RXDMAEN" description="Rx buffer DMA enable" start="0" size="1" />
      <BitField name="TXDMAEN" description="Tx buffer DMA enable" start="1" size="1" />
      <BitField name="SSOE" description="SS output enable" start="2" size="1" />
      <BitField name="NSSP" description="NSS pulse management" start="3" size="1" />
      <BitField name="FRF" description="Frame format" start="4" size="1" />
      <BitField name="ERRIE" description="Error interrupt enable" start="5" size="1" />
      <BitField name="RXNEIE" description="RX buffer not empty interrupt enable" start="6" size="1" />
      <BitField name="TXEIE" description="Tx buffer empty interrupt enable" start="7" size="1" />
      <BitField name="DS" description="Data size" start="8" size="4" />
      <BitField name="FRXTH" description="FIFO reception threshold" start="12" size="1" />
      <BitField name="LDMA_RX" description="Last DMA transfer for reception" start="13" size="1" />
      <BitField name="LDMA_TX" description="Last DMA transfer for transmission" start="14" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x8" size="4" reset_value="0x00000002" reset_mask="0xFFFFFFFF">
      <BitField name="RXNE" description="Receive buffer not empty" start="0" size="1" access="ReadOnly" />
      <BitField name="TXE" description="Transmit buffer empty" start="1" size="1" access="ReadOnly" />
      <BitField name="CRCERR" description="CRC error flag" start="4" size="1" access="Read/Write" />
      <BitField name="MODF" description="Mode fault" start="5" size="1" access="ReadOnly" />
      <BitField name="OVR" description="Overrun flag" start="6" size="1" access="ReadOnly" />
      <BitField name="BSY" description="Busy flag" start="7" size="1" access="ReadOnly" />
      <BitField name="TIFRFE" description="TI frame format error" start="8" size="1" access="ReadOnly" />
      <BitField name="FRLVL" description="FIFO reception level" start="9" size="2" access="ReadOnly" />
      <BitField name="FTLVL" description="FIFO transmission level" start="11" size="2" access="ReadOnly" />
    </Register>
    <Register name="DR" description="data register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DR" description="Data register" start="0" size="16" />
    </Register>
    <Register name="CRCPR" description="CRC polynomial register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000007" reset_mask="0xFFFFFFFF">
      <BitField name="CRCPOLY" description="CRC polynomial register" start="0" size="16" />
    </Register>
    <Register name="RXCRCR" description="RX CRC register" start="+0x14" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RxCRC" description="Rx CRC register" start="0" size="16" />
    </Register>
    <Register name="TXCRCR" description="TX CRC register" start="+0x18" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TxCRC" description="Tx CRC register" start="0" size="16" />
    </Register>
    <Register name="I2SCFGR" description="configuration register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CHLEN" description="CHLEN" start="0" size="1" />
      <BitField name="DATLEN" description="DATLEN" start="1" size="2" />
      <BitField name="CKPOL" description="CKPOL" start="3" size="1" />
      <BitField name="I2SSTD" description="I2SSTD" start="4" size="2" />
      <BitField name="PCMSYNC" description="PCMSYNC" start="7" size="1" />
      <BitField name="I2SCFG" description="I2SCFG" start="8" size="2" />
      <BitField name="I2SE" description="I2SE" start="10" size="1" />
      <BitField name="I2SMOD" description="I2SMOD" start="11" size="1" />
    </Register>
    <Register name="I2SPR" description="prescaler register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000002" reset_mask="0xFFFFFFFF">
      <BitField name="I2SDIV" description="I2SDIV" start="0" size="8" />
      <BitField name="ODD" description="ODD" start="8" size="1" />
      <BitField name="MCKOE" description="MCKOE" start="9" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="SPI4" description="Serial peripheral interface/Inter-IC sound" start="0x40013C00">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000700" reset_mask="0xFFFFFFFF">
      <BitField name="BIDIMODE" description="Bidirectional data mode enable" start="15" size="1" />
      <BitField name="BIDIOE" description="Output enable in bidirectional mode" start="14" size="1" />
      <BitField name="CRCEN" description="Hardware CRC calculation enable" start="13" size="1" />
      <BitField name="CRCNEXT" description="CRC transfer next" start="12" size="1" />
      <BitField name="DFF" description="Data frame format" start="11" size="1" />
      <BitField name="RXONLY" description="Receive only" start="10" size="1" />
      <BitField name="SSM" description="Software slave management" start="9" size="1" />
      <BitField name="SSI" description="Internal slave select" start="8" size="1" />
      <BitField name="LSBFIRST" description="Frame format" start="7" size="1" />
      <BitField name="SPE" description="SPI enable" start="6" size="1" />
      <BitField name="BR" description="Baud rate control" start="3" size="3" />
      <BitField name="MSTR" description="Master selection" start="2" size="1" />
      <BitField name="CPOL" description="Clock polarity" start="1" size="1" />
      <BitField name="CPHA" description="Clock phase" start="0" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXDMAEN" description="Rx buffer DMA enable" start="0" size="1" />
      <BitField name="TXDMAEN" description="Tx buffer DMA enable" start="1" size="1" />
      <BitField name="SSOE" description="SS output enable" start="2" size="1" />
      <BitField name="NSSP" description="NSS pulse management" start="3" size="1" />
      <BitField name="FRF" description="Frame format" start="4" size="1" />
      <BitField name="ERRIE" description="Error interrupt enable" start="5" size="1" />
      <BitField name="RXNEIE" description="RX buffer not empty interrupt enable" start="6" size="1" />
      <BitField name="TXEIE" description="Tx buffer empty interrupt enable" start="7" size="1" />
      <BitField name="DS" description="Data size" start="8" size="4" />
      <BitField name="FRXTH" description="FIFO reception threshold" start="12" size="1" />
      <BitField name="LDMA_RX" description="Last DMA transfer for reception" start="13" size="1" />
      <BitField name="LDMA_TX" description="Last DMA transfer for transmission" start="14" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x8" size="4" reset_value="0x00000002" reset_mask="0xFFFFFFFF">
      <BitField name="RXNE" description="Receive buffer not empty" start="0" size="1" access="ReadOnly" />
      <BitField name="TXE" description="Transmit buffer empty" start="1" size="1" access="ReadOnly" />
      <BitField name="CRCERR" description="CRC error flag" start="4" size="1" access="Read/Write" />
      <BitField name="MODF" description="Mode fault" start="5" size="1" access="ReadOnly" />
      <BitField name="OVR" description="Overrun flag" start="6" size="1" access="ReadOnly" />
      <BitField name="BSY" description="Busy flag" start="7" size="1" access="ReadOnly" />
      <BitField name="TIFRFE" description="TI frame format error" start="8" size="1" access="ReadOnly" />
      <BitField name="FRLVL" description="FIFO reception level" start="9" size="2" access="ReadOnly" />
      <BitField name="FTLVL" description="FIFO transmission level" start="11" size="2" access="ReadOnly" />
    </Register>
    <Register name="DR" description="data register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DR" description="Data register" start="0" size="16" />
    </Register>
    <Register name="CRCPR" description="CRC polynomial register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000007" reset_mask="0xFFFFFFFF">
      <BitField name="CRCPOLY" description="CRC polynomial register" start="0" size="16" />
    </Register>
    <Register name="RXCRCR" description="RX CRC register" start="+0x14" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RxCRC" description="Rx CRC register" start="0" size="16" />
    </Register>
    <Register name="TXCRCR" description="TX CRC register" start="+0x18" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TxCRC" description="Tx CRC register" start="0" size="16" />
    </Register>
    <Register name="I2SCFGR" description="configuration register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CHLEN" description="CHLEN" start="0" size="1" />
      <BitField name="DATLEN" description="DATLEN" start="1" size="2" />
      <BitField name="CKPOL" description="CKPOL" start="3" size="1" />
      <BitField name="I2SSTD" description="I2SSTD" start="4" size="2" />
      <BitField name="PCMSYNC" description="PCMSYNC" start="7" size="1" />
      <BitField name="I2SCFG" description="I2SCFG" start="8" size="2" />
      <BitField name="I2SE" description="I2SE" start="10" size="1" />
      <BitField name="I2SMOD" description="I2SMOD" start="11" size="1" />
    </Register>
    <Register name="I2SPR" description="prescaler register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000002" reset_mask="0xFFFFFFFF">
      <BitField name="I2SDIV" description="I2SDIV" start="0" size="8" />
      <BitField name="ODD" description="ODD" start="8" size="1" />
      <BitField name="MCKOE" description="MCKOE" start="9" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="SPI3" description="Serial peripheral interface/Inter-IC sound" start="0x40003C00">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000700" reset_mask="0xFFFFFFFF">
      <BitField name="BIDIMODE" description="Bidirectional data mode enable" start="15" size="1" />
      <BitField name="BIDIOE" description="Output enable in bidirectional mode" start="14" size="1" />
      <BitField name="CRCEN" description="Hardware CRC calculation enable" start="13" size="1" />
      <BitField name="CRCNEXT" description="CRC transfer next" start="12" size="1" />
      <BitField name="DFF" description="Data frame format" start="11" size="1" />
      <BitField name="RXONLY" description="Receive only" start="10" size="1" />
      <BitField name="SSM" description="Software slave management" start="9" size="1" />
      <BitField name="SSI" description="Internal slave select" start="8" size="1" />
      <BitField name="LSBFIRST" description="Frame format" start="7" size="1" />
      <BitField name="SPE" description="SPI enable" start="6" size="1" />
      <BitField name="BR" description="Baud rate control" start="3" size="3" />
      <BitField name="MSTR" description="Master selection" start="2" size="1" />
      <BitField name="CPOL" description="Clock polarity" start="1" size="1" />
      <BitField name="CPHA" description="Clock phase" start="0" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXDMAEN" description="Rx buffer DMA enable" start="0" size="1" />
      <BitField name="TXDMAEN" description="Tx buffer DMA enable" start="1" size="1" />
      <BitField name="SSOE" description="SS output enable" start="2" size="1" />
      <BitField name="NSSP" description="NSS pulse management" start="3" size="1" />
      <BitField name="FRF" description="Frame format" start="4" size="1" />
      <BitField name="ERRIE" description="Error interrupt enable" start="5" size="1" />
      <BitField name="RXNEIE" description="RX buffer not empty interrupt enable" start="6" size="1" />
      <BitField name="TXEIE" description="Tx buffer empty interrupt enable" start="7" size="1" />
      <BitField name="DS" description="Data size" start="8" size="4" />
      <BitField name="FRXTH" description="FIFO reception threshold" start="12" size="1" />
      <BitField name="LDMA_RX" description="Last DMA transfer for reception" start="13" size="1" />
      <BitField name="LDMA_TX" description="Last DMA transfer for transmission" start="14" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x8" size="4" reset_value="0x00000002" reset_mask="0xFFFFFFFF">
      <BitField name="RXNE" description="Receive buffer not empty" start="0" size="1" access="ReadOnly" />
      <BitField name="TXE" description="Transmit buffer empty" start="1" size="1" access="ReadOnly" />
      <BitField name="CRCERR" description="CRC error flag" start="4" size="1" access="Read/Write" />
      <BitField name="MODF" description="Mode fault" start="5" size="1" access="ReadOnly" />
      <BitField name="OVR" description="Overrun flag" start="6" size="1" access="ReadOnly" />
      <BitField name="BSY" description="Busy flag" start="7" size="1" access="ReadOnly" />
      <BitField name="TIFRFE" description="TI frame format error" start="8" size="1" access="ReadOnly" />
      <BitField name="FRLVL" description="FIFO reception level" start="9" size="2" access="ReadOnly" />
      <BitField name="FTLVL" description="FIFO transmission level" start="11" size="2" access="ReadOnly" />
    </Register>
    <Register name="DR" description="data register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DR" description="Data register" start="0" size="16" />
    </Register>
    <Register name="CRCPR" description="CRC polynomial register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000007" reset_mask="0xFFFFFFFF">
      <BitField name="CRCPOLY" description="CRC polynomial register" start="0" size="16" />
    </Register>
    <Register name="RXCRCR" description="RX CRC register" start="+0x14" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RxCRC" description="Rx CRC register" start="0" size="16" />
    </Register>
    <Register name="TXCRCR" description="TX CRC register" start="+0x18" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TxCRC" description="Tx CRC register" start="0" size="16" />
    </Register>
    <Register name="I2SCFGR" description="configuration register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CHLEN" description="CHLEN" start="0" size="1" />
      <BitField name="DATLEN" description="DATLEN" start="1" size="2" />
      <BitField name="CKPOL" description="CKPOL" start="3" size="1" />
      <BitField name="I2SSTD" description="I2SSTD" start="4" size="2" />
      <BitField name="PCMSYNC" description="PCMSYNC" start="7" size="1" />
      <BitField name="I2SCFG" description="I2SCFG" start="8" size="2" />
      <BitField name="I2SE" description="I2SE" start="10" size="1" />
      <BitField name="I2SMOD" description="I2SMOD" start="11" size="1" />
    </Register>
    <Register name="I2SPR" description="prescaler register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000002" reset_mask="0xFFFFFFFF">
      <BitField name="I2SDIV" description="I2SDIV" start="0" size="8" />
      <BitField name="ODD" description="ODD" start="8" size="1" />
      <BitField name="MCKOE" description="MCKOE" start="9" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="SPI2" description="Serial peripheral interface/Inter-IC sound" start="0x40003800">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000700" reset_mask="0xFFFFFFFF">
      <BitField name="BIDIMODE" description="Bidirectional data mode enable" start="15" size="1" />
      <BitField name="BIDIOE" description="Output enable in bidirectional mode" start="14" size="1" />
      <BitField name="CRCEN" description="Hardware CRC calculation enable" start="13" size="1" />
      <BitField name="CRCNEXT" description="CRC transfer next" start="12" size="1" />
      <BitField name="DFF" description="Data frame format" start="11" size="1" />
      <BitField name="RXONLY" description="Receive only" start="10" size="1" />
      <BitField name="SSM" description="Software slave management" start="9" size="1" />
      <BitField name="SSI" description="Internal slave select" start="8" size="1" />
      <BitField name="LSBFIRST" description="Frame format" start="7" size="1" />
      <BitField name="SPE" description="SPI enable" start="6" size="1" />
      <BitField name="BR" description="Baud rate control" start="3" size="3" />
      <BitField name="MSTR" description="Master selection" start="2" size="1" />
      <BitField name="CPOL" description="Clock polarity" start="1" size="1" />
      <BitField name="CPHA" description="Clock phase" start="0" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXDMAEN" description="Rx buffer DMA enable" start="0" size="1" />
      <BitField name="TXDMAEN" description="Tx buffer DMA enable" start="1" size="1" />
      <BitField name="SSOE" description="SS output enable" start="2" size="1" />
      <BitField name="NSSP" description="NSS pulse management" start="3" size="1" />
      <BitField name="FRF" description="Frame format" start="4" size="1" />
      <BitField name="ERRIE" description="Error interrupt enable" start="5" size="1" />
      <BitField name="RXNEIE" description="RX buffer not empty interrupt enable" start="6" size="1" />
      <BitField name="TXEIE" description="Tx buffer empty interrupt enable" start="7" size="1" />
      <BitField name="DS" description="Data size" start="8" size="4" />
      <BitField name="FRXTH" description="FIFO reception threshold" start="12" size="1" />
      <BitField name="LDMA_RX" description="Last DMA transfer for reception" start="13" size="1" />
      <BitField name="LDMA_TX" description="Last DMA transfer for transmission" start="14" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x8" size="4" reset_value="0x00000002" reset_mask="0xFFFFFFFF">
      <BitField name="RXNE" description="Receive buffer not empty" start="0" size="1" access="ReadOnly" />
      <BitField name="TXE" description="Transmit buffer empty" start="1" size="1" access="ReadOnly" />
      <BitField name="CRCERR" description="CRC error flag" start="4" size="1" access="Read/Write" />
      <BitField name="MODF" description="Mode fault" start="5" size="1" access="ReadOnly" />
      <BitField name="OVR" description="Overrun flag" start="6" size="1" access="ReadOnly" />
      <BitField name="BSY" description="Busy flag" start="7" size="1" access="ReadOnly" />
      <BitField name="TIFRFE" description="TI frame format error" start="8" size="1" access="ReadOnly" />
      <BitField name="FRLVL" description="FIFO reception level" start="9" size="2" access="ReadOnly" />
      <BitField name="FTLVL" description="FIFO transmission level" start="11" size="2" access="ReadOnly" />
    </Register>
    <Register name="DR" description="data register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DR" description="Data register" start="0" size="16" />
    </Register>
    <Register name="CRCPR" description="CRC polynomial register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000007" reset_mask="0xFFFFFFFF">
      <BitField name="CRCPOLY" description="CRC polynomial register" start="0" size="16" />
    </Register>
    <Register name="RXCRCR" description="RX CRC register" start="+0x14" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RxCRC" description="Rx CRC register" start="0" size="16" />
    </Register>
    <Register name="TXCRCR" description="TX CRC register" start="+0x18" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TxCRC" description="Tx CRC register" start="0" size="16" />
    </Register>
    <Register name="I2SCFGR" description="configuration register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CHLEN" description="CHLEN" start="0" size="1" />
      <BitField name="DATLEN" description="DATLEN" start="1" size="2" />
      <BitField name="CKPOL" description="CKPOL" start="3" size="1" />
      <BitField name="I2SSTD" description="I2SSTD" start="4" size="2" />
      <BitField name="PCMSYNC" description="PCMSYNC" start="7" size="1" />
      <BitField name="I2SCFG" description="I2SCFG" start="8" size="2" />
      <BitField name="I2SE" description="I2SE" start="10" size="1" />
      <BitField name="I2SMOD" description="I2SMOD" start="11" size="1" />
    </Register>
    <Register name="I2SPR" description="prescaler register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000002" reset_mask="0xFFFFFFFF">
      <BitField name="I2SDIV" description="I2SDIV" start="0" size="8" />
      <BitField name="ODD" description="ODD" start="8" size="1" />
      <BitField name="MCKOE" description="MCKOE" start="9" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="EXTI" description="External interrupt/event controller" start="0x40010400">
    <Register name="IMR1" description="Interrupt mask register" start="+0x0" size="4" access="Read/Write" reset_value="0xFF820000" reset_mask="0xFFFFFFFF">
      <BitField name="IM0" description="Interrupt Mask on line 0" start="0" size="1" />
      <BitField name="IM1" description="Interrupt Mask on line 1" start="1" size="1" />
      <BitField name="IM2" description="Interrupt Mask on line 2" start="2" size="1" />
      <BitField name="IM3" description="Interrupt Mask on line 3" start="3" size="1" />
      <BitField name="IM4" description="Interrupt Mask on line 4" start="4" size="1" />
      <BitField name="IM5" description="Interrupt Mask on line 5" start="5" size="1" />
      <BitField name="IM6" description="Interrupt Mask on line 6" start="6" size="1" />
      <BitField name="IM7" description="Interrupt Mask on line 7" start="7" size="1" />
      <BitField name="IM8" description="Interrupt Mask on line 8" start="8" size="1" />
      <BitField name="IM9" description="Interrupt Mask on line 9" start="9" size="1" />
      <BitField name="IM10" description="Interrupt Mask on line 10" start="10" size="1" />
      <BitField name="IM11" description="Interrupt Mask on line 11" start="11" size="1" />
      <BitField name="IM12" description="Interrupt Mask on line 12" start="12" size="1" />
      <BitField name="IM13" description="Interrupt Mask on line 13" start="13" size="1" />
      <BitField name="IM14" description="Interrupt Mask on line 14" start="14" size="1" />
      <BitField name="IM15" description="Interrupt Mask on line 15" start="15" size="1" />
      <BitField name="IM16" description="Interrupt Mask on line 16" start="16" size="1" />
      <BitField name="IM17" description="Interrupt Mask on line 17" start="17" size="1" />
      <BitField name="IM18" description="Interrupt Mask on line 18" start="18" size="1" />
      <BitField name="IM19" description="Interrupt Mask on line 19" start="19" size="1" />
      <BitField name="IM20" description="Interrupt Mask on line 20" start="20" size="1" />
      <BitField name="IM21" description="Interrupt Mask on line 21" start="21" size="1" />
      <BitField name="IM22" description="Interrupt Mask on line 22" start="22" size="1" />
      <BitField name="IM23" description="Interrupt Mask on line 23" start="23" size="1" />
      <BitField name="IM24" description="Interrupt Mask on line 24" start="24" size="1" />
      <BitField name="IM25" description="Interrupt Mask on line 25" start="25" size="1" />
      <BitField name="IM26" description="Interrupt Mask on line 26" start="26" size="1" />
      <BitField name="IM27" description="Interrupt Mask on line 27" start="27" size="1" />
      <BitField name="IM28" description="Interrupt Mask on line 28" start="28" size="1" />
      <BitField name="IM29" description="Interrupt Mask on line 29" start="29" size="1" />
      <BitField name="IM30" description="Interrupt Mask on line 30" start="30" size="1" />
      <BitField name="IM31" description="Interrupt Mask on line 31" start="31" size="1" />
    </Register>
    <Register name="EMR1" description="Event mask register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EM0" description="Event Mask on line 0" start="0" size="1" />
      <BitField name="EM1" description="Event Mask on line 1" start="1" size="1" />
      <BitField name="EM2" description="Event Mask on line 2" start="2" size="1" />
      <BitField name="EM3" description="Event Mask on line 3" start="3" size="1" />
      <BitField name="EM4" description="Event Mask on line 4" start="4" size="1" />
      <BitField name="EM5" description="Event Mask on line 5" start="5" size="1" />
      <BitField name="EM6" description="Event Mask on line 6" start="6" size="1" />
      <BitField name="EM7" description="Event Mask on line 7" start="7" size="1" />
      <BitField name="EM8" description="Event Mask on line 8" start="8" size="1" />
      <BitField name="EM9" description="Event Mask on line 9" start="9" size="1" />
      <BitField name="EM10" description="Event Mask on line 10" start="10" size="1" />
      <BitField name="EM11" description="Event Mask on line 11" start="11" size="1" />
      <BitField name="EM12" description="Event Mask on line 12" start="12" size="1" />
      <BitField name="EM13" description="Event Mask on line 13" start="13" size="1" />
      <BitField name="EM14" description="Event Mask on line 14" start="14" size="1" />
      <BitField name="EM15" description="Event Mask on line 15" start="15" size="1" />
      <BitField name="EM16" description="Event Mask on line 16" start="16" size="1" />
      <BitField name="EM17" description="Event Mask on line 17" start="17" size="1" />
      <BitField name="EM18" description="Event Mask on line 18" start="18" size="1" />
      <BitField name="EM19" description="Event Mask on line 19" start="19" size="1" />
      <BitField name="EM20" description="Event Mask on line 20" start="20" size="1" />
      <BitField name="EM21" description="Event Mask on line 21" start="21" size="1" />
      <BitField name="EM22" description="Event Mask on line 22" start="22" size="1" />
      <BitField name="EM23" description="Event Mask on line 23" start="23" size="1" />
      <BitField name="EM24" description="Event Mask on line 24" start="24" size="1" />
      <BitField name="EM25" description="Event Mask on line 25" start="25" size="1" />
      <BitField name="EM26" description="Event Mask on line 26" start="26" size="1" />
      <BitField name="EM27" description="Event Mask on line 27" start="27" size="1" />
      <BitField name="EM28" description="Event Mask on line 28" start="28" size="1" />
      <BitField name="EM29" description="Event Mask on line 29" start="29" size="1" />
      <BitField name="EM30" description="Event Mask on line 30" start="30" size="1" />
      <BitField name="EM31" description="Event Mask on line 31" start="31" size="1" />
    </Register>
    <Register name="RTSR1" description="Rising Trigger selection register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RT0" description="Rising trigger event configuration of line 0" start="0" size="1" />
      <BitField name="RT1" description="Rising trigger event configuration of line 1" start="1" size="1" />
      <BitField name="RT2" description="Rising trigger event configuration of line 2" start="2" size="1" />
      <BitField name="RT3" description="Rising trigger event configuration of line 3" start="3" size="1" />
      <BitField name="RT4" description="Rising trigger event configuration of line 4" start="4" size="1" />
      <BitField name="RT5" description="Rising trigger event configuration of line 5" start="5" size="1" />
      <BitField name="RT6" description="Rising trigger event configuration of line 6" start="6" size="1" />
      <BitField name="RT7" description="Rising trigger event configuration of line 7" start="7" size="1" />
      <BitField name="RT8" description="Rising trigger event configuration of line 8" start="8" size="1" />
      <BitField name="RT9" description="Rising trigger event configuration of line 9" start="9" size="1" />
      <BitField name="RT10" description="Rising trigger event configuration of line 10" start="10" size="1" />
      <BitField name="RT11" description="Rising trigger event configuration of line 11" start="11" size="1" />
      <BitField name="RT12" description="Rising trigger event configuration of line 12" start="12" size="1" />
      <BitField name="RT13" description="Rising trigger event configuration of line 13" start="13" size="1" />
      <BitField name="RT14" description="Rising trigger event configuration of line 14" start="14" size="1" />
      <BitField name="RT15" description="Rising trigger event configuration of line 15" start="15" size="1" />
      <BitField name="RT16" description="Rising trigger event configuration of line 16" start="16" size="1" />
      <BitField name="RT18" description="Rising trigger event configuration of line 18" start="18" size="1" />
      <BitField name="RT19" description="Rising trigger event configuration of line 19" start="19" size="1" />
      <BitField name="RT20" description="Rising trigger event configuration of line 20" start="20" size="1" />
      <BitField name="RT21" description="Rising trigger event configuration of line 21" start="21" size="1" />
      <BitField name="RT22" description="Rising trigger event configuration of line 22" start="22" size="1" />
      <BitField name="RT" description="RT" start="29" size="3" />
    </Register>
    <Register name="FTSR1" description="Falling Trigger selection register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="FT0" description="Falling trigger event configuration of line 0" start="0" size="1" />
      <BitField name="FT1" description="Falling trigger event configuration of line 1" start="1" size="1" />
      <BitField name="FT2" description="Falling trigger event configuration of line 2" start="2" size="1" />
      <BitField name="FT3" description="Falling trigger event configuration of line 3" start="3" size="1" />
      <BitField name="FT4" description="Falling trigger event configuration of line 4" start="4" size="1" />
      <BitField name="FT5" description="Falling trigger event configuration of line 5" start="5" size="1" />
      <BitField name="FT6" description="Falling trigger event configuration of line 6" start="6" size="1" />
      <BitField name="FT7" description="Falling trigger event configuration of line 7" start="7" size="1" />
      <BitField name="FT8" description="Falling trigger event configuration of line 8" start="8" size="1" />
      <BitField name="FT9" description="Falling trigger event configuration of line 9" start="9" size="1" />
      <BitField name="FT10" description="Falling trigger event configuration of line 10" start="10" size="1" />
      <BitField name="FT11" description="Falling trigger event configuration of line 11" start="11" size="1" />
      <BitField name="FT12" description="Falling trigger event configuration of line 12" start="12" size="1" />
      <BitField name="FT13" description="Falling trigger event configuration of line 13" start="13" size="1" />
      <BitField name="FT14" description="Falling trigger event configuration of line 14" start="14" size="1" />
      <BitField name="FT15" description="Falling trigger event configuration of line 15" start="15" size="1" />
      <BitField name="FT16" description="Falling trigger event configuration of line 16" start="16" size="1" />
      <BitField name="FT18" description="Falling trigger event configuration of line 18" start="18" size="1" />
      <BitField name="FT19" description="Falling trigger event configuration of line 19" start="19" size="1" />
      <BitField name="FT20" description="Falling trigger event configuration of line 20" start="20" size="1" />
      <BitField name="FT21" description="Falling trigger event configuration of line 21" start="21" size="1" />
      <BitField name="FT22" description="Falling trigger event configuration of line 22" start="22" size="1" />
    </Register>
    <Register name="SWIER1" description="Software interrupt event register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SWI0" description="Software Interrupt on line 0" start="0" size="1" />
      <BitField name="SWI1" description="Software Interrupt on line 1" start="1" size="1" />
      <BitField name="SWI2" description="Software Interrupt on line 2" start="2" size="1" />
      <BitField name="SWI3" description="Software Interrupt on line 3" start="3" size="1" />
      <BitField name="SWI4" description="Software Interrupt on line 4" start="4" size="1" />
      <BitField name="SWI5" description="Software Interrupt on line 5" start="5" size="1" />
      <BitField name="SWI6" description="Software Interrupt on line 6" start="6" size="1" />
      <BitField name="SWI7" description="Software Interrupt on line 7" start="7" size="1" />
      <BitField name="SWI8" description="Software Interrupt on line 8" start="8" size="1" />
      <BitField name="SWI9" description="Software Interrupt on line 9" start="9" size="1" />
      <BitField name="SWI10" description="Software Interrupt on line 10" start="10" size="1" />
      <BitField name="SWI11" description="Software Interrupt on line 11" start="11" size="1" />
      <BitField name="SWI12" description="Software Interrupt on line 12" start="12" size="1" />
      <BitField name="SWI13" description="Software Interrupt on line 13" start="13" size="1" />
      <BitField name="SWI14" description="Software Interrupt on line 14" start="14" size="1" />
      <BitField name="SWI15" description="Software Interrupt on line 15" start="15" size="1" />
      <BitField name="SWI16" description="Software Interrupt on line 16" start="16" size="1" />
      <BitField name="SWI18" description="Software Interrupt on line 18" start="18" size="1" />
      <BitField name="SWI19" description="Software Interrupt on line 19" start="19" size="1" />
      <BitField name="SWI20" description="Software Interrupt on line 20" start="20" size="1" />
      <BitField name="SWI21" description="Software Interrupt on line 21" start="21" size="1" />
      <BitField name="SWI22" description="Software Interrupt on line 22" start="22" size="1" />
    </Register>
    <Register name="PR1" description="Pending register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PIF0" description="Pending bit 0" start="0" size="1" />
      <BitField name="PIF1" description="Pending bit 1" start="1" size="1" />
      <BitField name="PIF2" description="Pending bit 2" start="2" size="1" />
      <BitField name="PIF3" description="Pending bit 3" start="3" size="1" />
      <BitField name="PIF4" description="Pending bit 4" start="4" size="1" />
      <BitField name="PIF5" description="Pending bit 5" start="5" size="1" />
      <BitField name="PIF6" description="Pending bit 6" start="6" size="1" />
      <BitField name="PIF7" description="Pending bit 7" start="7" size="1" />
      <BitField name="PIF8" description="Pending bit 8" start="8" size="1" />
      <BitField name="PIF9" description="Pending bit 9" start="9" size="1" />
      <BitField name="PIF10" description="Pending bit 10" start="10" size="1" />
      <BitField name="PIF11" description="Pending bit 11" start="11" size="1" />
      <BitField name="PIF12" description="Pending bit 12" start="12" size="1" />
      <BitField name="PIF13" description="Pending bit 13" start="13" size="1" />
      <BitField name="PIF14" description="Pending bit 14" start="14" size="1" />
      <BitField name="PIF15" description="Pending bit 15" start="15" size="1" />
      <BitField name="PIF16" description="Pending bit 16" start="16" size="1" />
      <BitField name="PIF18" description="Pending bit 18" start="18" size="1" />
      <BitField name="PIF19" description="Pending bit 19" start="19" size="1" />
      <BitField name="PIF20" description="Pending bit 20" start="20" size="1" />
      <BitField name="PIF21" description="Pending bit 21" start="21" size="1" />
      <BitField name="PIF22" description="Pending bit 22" start="22" size="1" />
    </Register>
    <Register name="IMR2" description="Interrupt mask register" start="+0x20" size="4" access="Read/Write" reset_value="0xFFFFFF87" reset_mask="0xFFFFFFFF">
      <BitField name="IM32" description="Interrupt Mask on external/internal line 32" start="0" size="1" />
      <BitField name="IM33" description="Interrupt Mask on external/internal line 33" start="1" size="1" />
      <BitField name="IM34" description="Interrupt Mask on external/internal line 34" start="2" size="1" />
      <BitField name="IM35" description="Interrupt Mask on external/internal line 35" start="3" size="1" />
      <BitField name="IM36" description="Interrupt Mask on external/internal line 36" start="4" size="1" />
      <BitField name="IM37" description="Interrupt Mask on external/internal line 37" start="5" size="1" />
      <BitField name="IM38" description="Interrupt Mask on external/internal line 38" start="6" size="1" />
      <BitField name="IM39" description="Interrupt Mask on external/internal line 39" start="7" size="1" />
      <BitField name="IM40" description="Interrupt Mask on external/internal line 40" start="8" size="1" />
      <BitField name="IM41" description="Interrupt Mask on external/internal line 41" start="9" size="1" />
      <BitField name="IM42" description="Interrupt Mask on external/internal line 42" start="10" size="1" />
      <BitField name="IM43" description="Interrupt Mask on external/internal line 43" start="11" size="1" />
    </Register>
    <Register name="EMR2" description="Event mask register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EM32" description="Event mask on external/internal line 32" start="0" size="1" />
      <BitField name="EM33" description="Event mask on external/internal line 33" start="1" size="1" />
      <BitField name="EM34" description="Event mask on external/internal line 34" start="2" size="1" />
      <BitField name="EM35" description="Event mask on external/internal line 35" start="3" size="1" />
      <BitField name="EM36" description="Event mask on external/internal line 36" start="4" size="1" />
      <BitField name="EM37" description="Event mask on external/internal line 37" start="5" size="1" />
      <BitField name="EM38" description="Event mask on external/internal line 38" start="6" size="1" />
      <BitField name="EM39" description="Event mask on external/internal line 39" start="7" size="1" />
      <BitField name="EM40" description="Event mask on external/internal line 40" start="8" size="1" />
    </Register>
    <Register name="RTSR2" description="Rising Trigger selection register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RT32" description="Rising trigger event configuration bit of line 32" start="0" size="1" />
      <BitField name="RT33" description="Rising trigger event configuration bit of line 32" start="1" size="1" />
      <BitField name="RT38" description="Rising trigger event configuration bit of line 38" start="6" size="1" />
      <BitField name="RT39" description="Rising trigger event configuration bit of line 39" start="7" size="1" />
      <BitField name="RT40" description="Rising trigger event configuration bit of line 40" start="8" size="1" />
      <BitField name="RT41" description="Rising trigger event configuration bit of line 41" start="9" size="1" />
    </Register>
    <Register name="FTSR2" description="Falling Trigger selection register" start="+0x2C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="FT35" description="Falling trigger event configuration bit of line 35" start="3" size="1" />
      <BitField name="FT36" description="Falling trigger event configuration bit of line 36" start="4" size="1" />
      <BitField name="FT37" description="Falling trigger event configuration bit of line 37" start="5" size="1" />
      <BitField name="FT38" description="Falling trigger event configuration bit of line 38" start="6" size="1" />
    </Register>
    <Register name="SWIER2" description="Software interrupt event register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SWI35" description="Software interrupt on line 35" start="3" size="1" />
      <BitField name="SWI36" description="Software interrupt on line 36" start="4" size="1" />
      <BitField name="SWI37" description="Software interrupt on line 37" start="5" size="1" />
      <BitField name="SWI38" description="Software interrupt on line 38" start="6" size="1" />
    </Register>
    <Register name="PR2" description="Pending register" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PIF35" description="Pending interrupt flag on line 35" start="3" size="1" />
      <BitField name="PIF36" description="Pending interrupt flag on line 36" start="4" size="1" />
      <BitField name="PIF37" description="Pending interrupt flag on line 37" start="5" size="1" />
      <BitField name="PIF38" description="Pending interrupt flag on line 38" start="6" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="RTC" description="Real-time clock" start="0x40002800">
    <Register name="TR" description="time register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PM" description="AM/PM notation" start="22" size="1" />
      <BitField name="HT" description="Hour tens in BCD format" start="20" size="2" />
      <BitField name="HU" description="Hour units in BCD format" start="16" size="4" />
      <BitField name="MNT" description="Minute tens in BCD format" start="12" size="3" />
      <BitField name="MNU" description="Minute units in BCD format" start="8" size="4" />
      <BitField name="ST" description="Second tens in BCD format" start="4" size="3" />
      <BitField name="SU" description="Second units in BCD format" start="0" size="4" />
    </Register>
    <Register name="DR" description="date register" start="+0x4" size="4" access="Read/Write" reset_value="0x00002101" reset_mask="0xFFFFFFFF">
      <BitField name="YT" description="Year tens in BCD format" start="20" size="4" />
      <BitField name="YU" description="Year units in BCD format" start="16" size="4" />
      <BitField name="WDU" description="Week day units" start="13" size="3" />
      <BitField name="MT" description="Month tens in BCD format" start="12" size="1" />
      <BitField name="MU" description="Month units in BCD format" start="8" size="4" />
      <BitField name="DT" description="Date tens in BCD format" start="4" size="2" />
      <BitField name="DU" description="Date units in BCD format" start="0" size="4" />
    </Register>
    <Register name="SSR" description="sub second register" start="+0x8" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SS" description="Sub second value" start="0" size="16" />
    </Register>
    <Register name="ICSR" description="initialization and status register" start="+0xC" size="4" reset_value="0x00000007" reset_mask="0xFFFFFFFF">
      <BitField name="ALRAWF" description="Alarm A write flag" start="0" size="1" access="ReadOnly" />
      <BitField name="ALRBWF" description="Alarm B write flag" start="1" size="1" access="ReadOnly" />
      <BitField name="WUTWF" description="Wakeup timer write flag" start="2" size="1" access="ReadOnly" />
      <BitField name="SHPF" description="Shift operation pending" start="3" size="1" access="Read/Write" />
      <BitField name="INITS" description="Initialization status flag" start="4" size="1" access="ReadOnly" />
      <BitField name="RSF" description="Registers synchronization flag" start="5" size="1" access="Read/Write" />
      <BitField name="INITF" description="Initialization flag" start="6" size="1" access="ReadOnly" />
      <BitField name="INIT" description="Initialization mode" start="7" size="1" access="Read/Write" />
      <BitField name="RECALPF" description="Recalibration pending Flag" start="16" size="1" access="ReadOnly" />
    </Register>
    <Register name="PRER" description="prescaler register" start="+0x10" size="4" access="Read/Write" reset_value="0x007F00FF" reset_mask="0xFFFFFFFF">
      <BitField name="PREDIV_A" description="Asynchronous prescaler factor" start="16" size="7" />
      <BitField name="PREDIV_S" description="Synchronous prescaler factor" start="0" size="15" />
    </Register>
    <Register name="WUTR" description="wakeup timer register" start="+0x14" size="4" access="Read/Write" reset_value="0x0000FFFF" reset_mask="0xFFFFFFFF">
      <BitField name="WUT" description="Wakeup auto-reload value bits" start="0" size="16" />
    </Register>
    <Register name="CR" description="control register" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="WCKSEL" description="Wakeup clock selection" start="0" size="3" />
      <BitField name="TSEDGE" description="Time-stamp event active edge" start="3" size="1" />
      <BitField name="REFCKON" description="Reference clock detection enable (50 or 60 Hz)" start="4" size="1" />
      <BitField name="BYPSHAD" description="Bypass the shadow registers" start="5" size="1" />
      <BitField name="FMT" description="Hour format" start="6" size="1" />
      <BitField name="ALRAE" description="Alarm A enable" start="8" size="1" />
      <BitField name="ALRBE" description="Alarm B enable" start="9" size="1" />
      <BitField name="WUTE" description="Wakeup timer enable" start="10" size="1" />
      <BitField name="TSE" description="Time stamp enable" start="11" size="1" />
      <BitField name="ALRAIE" description="Alarm A interrupt enable" start="12" size="1" />
      <BitField name="ALRBIE" description="Alarm B interrupt enable" start="13" size="1" />
      <BitField name="WUTIE" description="Wakeup timer interrupt enable" start="14" size="1" />
      <BitField name="TSIE" description="Time-stamp interrupt enable" start="15" size="1" />
      <BitField name="ADD1H" description="Add 1 hour (summer time change)" start="16" size="1" />
      <BitField name="SUB1H" description="Subtract 1 hour (winter time change)" start="17" size="1" />
      <BitField name="BKP" description="Backup" start="18" size="1" />
      <BitField name="COSEL" description="Calibration output selection" start="19" size="1" />
      <BitField name="POL" description="Output polarity" start="20" size="1" />
      <BitField name="OSEL" description="Output selection" start="21" size="2" />
      <BitField name="COE" description="Calibration output enable" start="23" size="1" />
      <BitField name="ITSE" description="timestamp on internal event enable" start="24" size="1" />
      <BitField name="TAMPTS" description="TAMPTS" start="25" size="1" />
      <BitField name="TAMPOE" description="TAMPOE" start="26" size="1" />
      <BitField name="TAMPALRM_PU" description="TAMPALRM_PU" start="29" size="1" />
      <BitField name="TAMPALRM_TYPE" description="TAMPALRM_TYPE" start="30" size="1" />
      <BitField name="OUT2EN" description="OUT2EN" start="31" size="1" />
    </Register>
    <Register name="WPR" description="write protection register" start="+0x24" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="KEY" description="Write protection key" start="0" size="8" />
    </Register>
    <Register name="CALR" description="calibration register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CALP" description="Increase frequency of RTC by 488.5 ppm" start="15" size="1" />
      <BitField name="CALW8" description="Use an 8-second calibration cycle period" start="14" size="1" />
      <BitField name="CALW16" description="Use a 16-second calibration cycle period" start="13" size="1" />
      <BitField name="CALM" description="Calibration minus" start="0" size="9" />
    </Register>
    <Register name="SHIFTR" description="shift control register" start="+0x2C" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ADD1S" description="Add one second" start="31" size="1" />
      <BitField name="SUBFS" description="Subtract a fraction of a second" start="0" size="15" />
    </Register>
    <Register name="TSTR" description="time stamp time register" start="+0x30" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SU" description="Second units in BCD format" start="0" size="4" />
      <BitField name="ST" description="Second tens in BCD format" start="4" size="3" />
      <BitField name="MNU" description="Minute units in BCD format" start="8" size="4" />
      <BitField name="MNT" description="Minute tens in BCD format" start="12" size="3" />
      <BitField name="HU" description="Hour units in BCD format" start="16" size="4" />
      <BitField name="HT" description="Hour tens in BCD format" start="20" size="2" />
      <BitField name="PM" description="AM/PM notation" start="22" size="1" />
    </Register>
    <Register name="TSDR" description="time stamp date register" start="+0x34" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="WDU" description="Week day units" start="13" size="3" />
      <BitField name="MT" description="Month tens in BCD format" start="12" size="1" />
      <BitField name="MU" description="Month units in BCD format" start="8" size="4" />
      <BitField name="DT" description="Date tens in BCD format" start="4" size="2" />
      <BitField name="DU" description="Date units in BCD format" start="0" size="4" />
    </Register>
    <Register name="TSSSR" description="timestamp sub second register" start="+0x38" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SS" description="Sub second value" start="0" size="16" />
    </Register>
    <Register name="ALRMAR" description="alarm A register" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MSK4" description="Alarm A date mask" start="31" size="1" />
      <BitField name="WDSEL" description="Week day selection" start="30" size="1" />
      <BitField name="DT" description="Date tens in BCD format" start="28" size="2" />
      <BitField name="DU" description="Date units or day in BCD format" start="24" size="4" />
      <BitField name="MSK3" description="Alarm A hours mask" start="23" size="1" />
      <BitField name="PM" description="AM/PM notation" start="22" size="1" />
      <BitField name="HT" description="Hour tens in BCD format" start="20" size="2" />
      <BitField name="HU" description="Hour units in BCD format" start="16" size="4" />
      <BitField name="MSK2" description="Alarm A minutes mask" start="15" size="1" />
      <BitField name="MNT" description="Minute tens in BCD format" start="12" size="3" />
      <BitField name="MNU" description="Minute units in BCD format" start="8" size="4" />
      <BitField name="MSK1" description="Alarm A seconds mask" start="7" size="1" />
      <BitField name="ST" description="Second tens in BCD format" start="4" size="3" />
      <BitField name="SU" description="Second units in BCD format" start="0" size="4" />
    </Register>
    <Register name="ALRMASSR" description="alarm A sub second register" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MASKSS" description="Mask the most-significant bits starting at this bit" start="24" size="4" />
      <BitField name="SS" description="Sub seconds value" start="0" size="15" />
    </Register>
    <Register name="ALRMBR" description="alarm B register" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MSK4" description="Alarm B date mask" start="31" size="1" />
      <BitField name="WDSEL" description="Week day selection" start="30" size="1" />
      <BitField name="DT" description="Date tens in BCD format" start="28" size="2" />
      <BitField name="DU" description="Date units or day in BCD format" start="24" size="4" />
      <BitField name="MSK3" description="Alarm B hours mask" start="23" size="1" />
      <BitField name="PM" description="AM/PM notation" start="22" size="1" />
      <BitField name="HT" description="Hour tens in BCD format" start="20" size="2" />
      <BitField name="HU" description="Hour units in BCD format" start="16" size="4" />
      <BitField name="MSK2" description="Alarm B minutes mask" start="15" size="1" />
      <BitField name="MNT" description="Minute tens in BCD format" start="12" size="3" />
      <BitField name="MNU" description="Minute units in BCD format" start="8" size="4" />
      <BitField name="MSK1" description="Alarm B seconds mask" start="7" size="1" />
      <BitField name="ST" description="Second tens in BCD format" start="4" size="3" />
      <BitField name="SU" description="Second units in BCD format" start="0" size="4" />
    </Register>
    <Register name="ALRMBSSR" description="alarm B sub second register" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MASKSS" description="Mask the most-significant bits starting at this bit" start="24" size="4" />
      <BitField name="SS" description="Sub seconds value" start="0" size="15" />
    </Register>
    <Register name="SR" description="status register" start="+0x50" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ALRAF" description="ALRAF" start="0" size="1" />
      <BitField name="ALRBF" description="ALRBF" start="1" size="1" />
      <BitField name="WUTF" description="WUTF" start="2" size="1" />
      <BitField name="TSF" description="TSF" start="3" size="1" />
      <BitField name="TSOVF" description="TSOVF" start="4" size="1" />
      <BitField name="ITSF" description="ITSF" start="5" size="1" />
    </Register>
    <Register name="MISR" description="status register" start="+0x54" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ALRAMF" description="ALRAMF" start="0" size="1" />
      <BitField name="ALRBMF" description="ALRBMF" start="1" size="1" />
      <BitField name="WUTMF" description="WUTMF" start="2" size="1" />
      <BitField name="TSMF" description="TSMF" start="3" size="1" />
      <BitField name="TSOVMF" description="TSOVMF" start="4" size="1" />
      <BitField name="ITSMF" description="ITSMF" start="5" size="1" />
    </Register>
    <Register name="SCR" description="status register" start="+0x5C" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CALRAF" description="CALRAF" start="0" size="1" />
      <BitField name="CALRBF" description="CALRBF" start="1" size="1" />
      <BitField name="CWUTF" description="CWUTF" start="2" size="1" />
      <BitField name="CTSF" description="CTSF" start="3" size="1" />
      <BitField name="CTSOVF" description="CTSOVF" start="4" size="1" />
      <BitField name="CITSF" description="CITSF" start="5" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="FMC" description="Flexible memory controller" start="0xA0000000">
    <Register name="BCR1" description="SRAM/NOR-Flash chip-select control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x000030D0" reset_mask="0xFFFFFFFF">
      <BitField name="MBKEN" description="MBKEN" start="0" size="1" />
      <BitField name="MUXEN" description="MUXEN" start="1" size="1" />
      <BitField name="MTYP" description="MTYP" start="2" size="2" />
      <BitField name="MWID" description="MWID" start="4" size="2" />
      <BitField name="FACCEN" description="FACCEN" start="6" size="1" />
      <BitField name="BURSTEN" description="BURSTEN" start="8" size="1" />
      <BitField name="WAITPOL" description="WAITPOL" start="9" size="1" />
      <BitField name="WAITCFG" description="WAITCFG" start="11" size="1" />
      <BitField name="WREN" description="WREN" start="12" size="1" />
      <BitField name="WAITEN" description="WAITEN" start="13" size="1" />
      <BitField name="EXTMOD" description="EXTMOD" start="14" size="1" />
      <BitField name="ASYNCWAIT" description="ASYNCWAIT" start="15" size="1" />
      <BitField name="CPSIZE" description="CPSIZE" start="16" size="3" />
      <BitField name="CBURSTRW" description="CBURSTRW" start="19" size="1" />
      <BitField name="CCLKEN" description="CCLKEN" start="20" size="1" />
      <BitField name="WFDIS" description="WFDIS" start="21" size="1" />
      <BitField name="NBLSET" description="NBLSET" start="22" size="2" />
    </Register>
    <Register name="BTR1" description="SRAM/NOR-Flash chip-select timing register 1" start="+0x4" size="4" access="Read/Write" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="DATAHLD" description="DATAHLD" start="30" size="2" />
      <BitField name="ACCMOD" description="ACCMOD" start="28" size="2" />
      <BitField name="DATLAT" description="DATLAT" start="24" size="4" />
      <BitField name="CLKDIV" description="CLKDIV" start="20" size="4" />
      <BitField name="BUSTURN" description="BUSTURN" start="16" size="4" />
      <BitField name="DATAST" description="DATAST" start="8" size="8" />
      <BitField name="ADDHLD" description="ADDHLD" start="4" size="4" />
      <BitField name="ADDSET" description="ADDSET" start="0" size="4" />
    </Register>
    <Register name="BCR2" description="SRAM/NOR-Flash chip-select control register 2" start="+0x8" size="4" access="Read/Write" reset_value="0x000030D0" reset_mask="0xFFFFFFFF">
      <BitField name="MBKEN" description="MBKEN" start="0" size="1" />
      <BitField name="MUXEN" description="MUXEN" start="1" size="1" />
      <BitField name="MTYP" description="MTYP" start="2" size="2" />
      <BitField name="MWID" description="MWID" start="4" size="2" />
      <BitField name="FACCEN" description="FACCEN" start="6" size="1" />
      <BitField name="BURSTEN" description="BURSTEN" start="8" size="1" />
      <BitField name="WAITPOL" description="WAITPOL" start="9" size="1" />
      <BitField name="WAITCFG" description="WAITCFG" start="11" size="1" />
      <BitField name="WREN" description="WREN" start="12" size="1" />
      <BitField name="WAITEN" description="WAITEN" start="13" size="1" />
      <BitField name="EXTMOD" description="EXTMOD" start="14" size="1" />
      <BitField name="ASYNCWAIT" description="ASYNCWAIT" start="15" size="1" />
      <BitField name="CPSIZE" description="CPSIZE" start="16" size="3" />
      <BitField name="CBURSTRW" description="CBURSTRW" start="19" size="1" />
      <BitField name="CCLKEN" description="CCLKEN" start="20" size="1" />
      <BitField name="WFDIS" description="WFDIS" start="21" size="1" />
      <BitField name="NBLSET" description="NBLSET" start="22" size="2" />
    </Register>
    <Register name="BTR2" description="SRAM/NOR-Flash chip-select timing register 2" start="+0xC" size="4" access="Read/Write" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="DATAHLD" description="DATAHLD" start="30" size="2" />
      <BitField name="ACCMOD" description="ACCMOD" start="28" size="2" />
      <BitField name="DATLAT" description="DATLAT" start="24" size="4" />
      <BitField name="CLKDIV" description="CLKDIV" start="20" size="4" />
      <BitField name="BUSTURN" description="BUSTURN" start="16" size="4" />
      <BitField name="DATAST" description="DATAST" start="8" size="8" />
      <BitField name="ADDHLD" description="ADDHLD" start="4" size="4" />
      <BitField name="ADDSET" description="ADDSET" start="0" size="4" />
    </Register>
    <Register name="BCR3" description="SRAM/NOR-Flash chip-select control register 3" start="+0x10" size="4" access="Read/Write" reset_value="0x000030D0" reset_mask="0xFFFFFFFF">
      <BitField name="MBKEN" description="MBKEN" start="0" size="1" />
      <BitField name="MUXEN" description="MUXEN" start="1" size="1" />
      <BitField name="MTYP" description="MTYP" start="2" size="2" />
      <BitField name="MWID" description="MWID" start="4" size="2" />
      <BitField name="FACCEN" description="FACCEN" start="6" size="1" />
      <BitField name="BURSTEN" description="BURSTEN" start="8" size="1" />
      <BitField name="WAITPOL" description="WAITPOL" start="9" size="1" />
      <BitField name="WAITCFG" description="WAITCFG" start="11" size="1" />
      <BitField name="WREN" description="WREN" start="12" size="1" />
      <BitField name="WAITEN" description="WAITEN" start="13" size="1" />
      <BitField name="EXTMOD" description="EXTMOD" start="14" size="1" />
      <BitField name="ASYNCWAIT" description="ASYNCWAIT" start="15" size="1" />
      <BitField name="CPSIZE" description="CPSIZE" start="16" size="3" />
      <BitField name="CBURSTRW" description="CBURSTRW" start="19" size="1" />
      <BitField name="CCLKEN" description="CCLKEN" start="20" size="1" />
      <BitField name="WFDIS" description="WFDIS" start="21" size="1" />
      <BitField name="NBLSET" description="NBLSET" start="22" size="2" />
    </Register>
    <Register name="BTR3" description="SRAM/NOR-Flash chip-select timing register 3" start="+0x14" size="4" access="Read/Write" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="DATAHLD" description="DATAHLD" start="30" size="2" />
      <BitField name="ACCMOD" description="ACCMOD" start="28" size="2" />
      <BitField name="DATLAT" description="DATLAT" start="24" size="4" />
      <BitField name="CLKDIV" description="CLKDIV" start="20" size="4" />
      <BitField name="BUSTURN" description="BUSTURN" start="16" size="4" />
      <BitField name="DATAST" description="DATAST" start="8" size="8" />
      <BitField name="ADDHLD" description="ADDHLD" start="4" size="4" />
      <BitField name="ADDSET" description="ADDSET" start="0" size="4" />
    </Register>
    <Register name="BCR4" description="SRAM/NOR-Flash chip-select control register 4" start="+0x18" size="4" access="Read/Write" reset_value="0x000030D0" reset_mask="0xFFFFFFFF">
      <BitField name="MBKEN" description="MBKEN" start="0" size="1" />
      <BitField name="MUXEN" description="MUXEN" start="1" size="1" />
      <BitField name="MTYP" description="MTYP" start="2" size="2" />
      <BitField name="MWID" description="MWID" start="4" size="2" />
      <BitField name="FACCEN" description="FACCEN" start="6" size="1" />
      <BitField name="BURSTEN" description="BURSTEN" start="8" size="1" />
      <BitField name="WAITPOL" description="WAITPOL" start="9" size="1" />
      <BitField name="WAITCFG" description="WAITCFG" start="11" size="1" />
      <BitField name="WREN" description="WREN" start="12" size="1" />
      <BitField name="WAITEN" description="WAITEN" start="13" size="1" />
      <BitField name="EXTMOD" description="EXTMOD" start="14" size="1" />
      <BitField name="ASYNCWAIT" description="ASYNCWAIT" start="15" size="1" />
      <BitField name="CPSIZE" description="CPSIZE" start="16" size="3" />
      <BitField name="CBURSTRW" description="CBURSTRW" start="19" size="1" />
      <BitField name="CCLKEN" description="CCLKEN" start="20" size="1" />
      <BitField name="WFDIS" description="WFDIS" start="21" size="1" />
      <BitField name="NBLSET" description="NBLSET" start="22" size="2" />
    </Register>
    <Register name="BTR4" description="SRAM/NOR-Flash chip-select timing register 4" start="+0x1C" size="4" access="Read/Write" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="DATAHLD" description="DATAHLD" start="30" size="2" />
      <BitField name="ACCMOD" description="ACCMOD" start="28" size="2" />
      <BitField name="DATLAT" description="DATLAT" start="24" size="4" />
      <BitField name="CLKDIV" description="CLKDIV" start="20" size="4" />
      <BitField name="BUSTURN" description="BUSTURN" start="16" size="4" />
      <BitField name="DATAST" description="DATAST" start="8" size="8" />
      <BitField name="ADDHLD" description="ADDHLD" start="4" size="4" />
      <BitField name="ADDSET" description="ADDSET" start="0" size="4" />
    </Register>
    <Register name="PCSCNTR" description="PSRAM chip select counter register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CSCOUNT" description="CSCOUNT" start="0" size="16" />
      <BitField name="CNTB1EN" description="CNTB1EN" start="16" size="1" />
      <BitField name="CNTB2EN" description="CNTB2EN" start="17" size="1" />
      <BitField name="CNTB3EN" description="CNTB3EN" start="18" size="1" />
      <BitField name="CNTB4EN" description="CNTB4EN" start="19" size="1" />
    </Register>
    <Register name="PCR" description="PC Card/NAND Flash control register 3" start="+0x80" size="4" access="Read/Write" reset_value="0x00000018" reset_mask="0xFFFFFFFF">
      <BitField name="ECCPS" description="ECCPS" start="17" size="3" />
      <BitField name="TAR" description="TAR" start="13" size="4" />
      <BitField name="TCLR" description="TCLR" start="9" size="4" />
      <BitField name="ECCEN" description="ECCEN" start="6" size="1" />
      <BitField name="PWID" description="PWID" start="4" size="2" />
      <BitField name="PTYP" description="PTYP" start="3" size="1" />
      <BitField name="PBKEN" description="PBKEN" start="2" size="1" />
      <BitField name="PWAITEN" description="PWAITEN" start="1" size="1" />
    </Register>
    <Register name="SR" description="FIFO status and interrupt register 3" start="+0x84" size="4" reset_value="0x00000040" reset_mask="0xFFFFFFFF">
      <BitField name="FEMPT" description="FEMPT" start="6" size="1" access="ReadOnly" />
      <BitField name="IFEN" description="IFEN" start="5" size="1" access="Read/Write" />
      <BitField name="ILEN" description="ILEN" start="4" size="1" access="Read/Write" />
      <BitField name="IREN" description="IREN" start="3" size="1" access="Read/Write" />
      <BitField name="IFS" description="IFS" start="2" size="1" access="Read/Write" />
      <BitField name="ILS" description="ILS" start="1" size="1" access="Read/Write" />
      <BitField name="IRS" description="IRS" start="0" size="1" access="Read/Write" />
    </Register>
    <Register name="PMEM" description="Common memory space timing register 3" start="+0x88" size="4" access="Read/Write" reset_value="0xFCFCFCFC" reset_mask="0xFFFFFFFF">
      <BitField name="MEMHIZx" description="MEMHIZx" start="24" size="8" />
      <BitField name="MEMHOLDx" description="MEMHOLDx" start="16" size="8" />
      <BitField name="MEMWAITx" description="MEMWAITx" start="8" size="8" />
      <BitField name="MEMSETx" description="MEMSETx" start="0" size="8" />
    </Register>
    <Register name="PATT" description="Attribute memory space timing register 3" start="+0x8C" size="4" access="Read/Write" reset_value="0xFCFCFCFC" reset_mask="0xFFFFFFFF">
      <BitField name="ATTHIZx" description="ATTHIZx" start="24" size="8" />
      <BitField name="ATTHOLDx" description="ATTHOLDx" start="16" size="8" />
      <BitField name="ATTWAITx" description="ATTWAITx" start="8" size="8" />
      <BitField name="ATTSETx" description="ATTSETx" start="0" size="8" />
    </Register>
    <Register name="ECCR" description="ECC result register 3" start="+0x94" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ECCx" description="ECCx" start="0" size="32" />
    </Register>
    <Register name="BWTR1" description="SRAM/NOR-Flash write timing registers 1" start="+0x104" size="4" access="Read/Write" reset_value="0x0FFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="DATAHLD" description="DATAHLD" start="30" size="2" />
      <BitField name="ACCMOD" description="ACCMOD" start="28" size="2" />
      <BitField name="BUSTURN" description="BUSTURN" start="16" size="4" />
      <BitField name="DATAST" description="DATAST" start="8" size="8" />
      <BitField name="ADDHLD" description="ADDHLD" start="4" size="4" />
      <BitField name="ADDSET" description="ADDSET" start="0" size="4" />
    </Register>
    <Register name="BWTR2" description="SRAM/NOR-Flash write timing registers 2" start="+0x10C" size="4" access="Read/Write" reset_value="0x0FFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="DATAHLD" description="DATAHLD" start="30" size="2" />
      <BitField name="ACCMOD" description="ACCMOD" start="28" size="2" />
      <BitField name="BUSTURN" description="BUSTURN" start="16" size="4" />
      <BitField name="DATAST" description="DATAST" start="8" size="8" />
      <BitField name="ADDHLD" description="ADDHLD" start="4" size="4" />
      <BitField name="ADDSET" description="ADDSET" start="0" size="4" />
    </Register>
    <Register name="BWTR3" description="SRAM/NOR-Flash write timing registers 3" start="+0x114" size="4" access="Read/Write" reset_value="0x0FFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="DATAHLD" description="DATAHLD" start="30" size="2" />
      <BitField name="ACCMOD" description="ACCMOD" start="28" size="2" />
      <BitField name="BUSTURN" description="BUSTURN" start="16" size="4" />
      <BitField name="DATAST" description="DATAST" start="8" size="8" />
      <BitField name="ADDHLD" description="ADDHLD" start="4" size="4" />
      <BitField name="ADDSET" description="ADDSET" start="0" size="4" />
    </Register>
    <Register name="BWTR4" description="SRAM/NOR-Flash write timing registers 4" start="+0x11C" size="4" access="Read/Write" reset_value="0x0FFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="DATAHLD" description="DATAHLD" start="30" size="2" />
      <BitField name="ACCMOD" description="ACCMOD" start="28" size="2" />
      <BitField name="BUSTURN" description="BUSTURN" start="16" size="4" />
      <BitField name="DATAST" description="DATAST" start="8" size="8" />
      <BitField name="ADDHLD" description="ADDHLD" start="4" size="4" />
      <BitField name="ADDSET" description="ADDSET" start="0" size="4" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="DMA1" description="DMA controller" start="0x40020000">
    <Register name="ISR" description="interrupt status register" start="+0x0" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TEIF8" description="TEIF8" start="31" size="1" />
      <BitField name="HTIF8" description="HTIF8" start="30" size="1" />
      <BitField name="TCIF8" description="TCIF8" start="29" size="1" />
      <BitField name="GIF8" description="GIF8" start="28" size="1" />
      <BitField name="TEIF7" description="TEIF7" start="27" size="1" />
      <BitField name="HTIF7" description="HTIF7" start="26" size="1" />
      <BitField name="TCIF7" description="TCIF7" start="25" size="1" />
      <BitField name="GIF7" description="GIF7" start="24" size="1" />
      <BitField name="TEIF6" description="TEIF6" start="23" size="1" />
      <BitField name="HTIF6" description="HTIF6" start="22" size="1" />
      <BitField name="TCIF6" description="TCIF6" start="21" size="1" />
      <BitField name="GIF6" description="GIF6" start="20" size="1" />
      <BitField name="TEIF5" description="TEIF5" start="19" size="1" />
      <BitField name="HTIF5" description="HTIF5" start="18" size="1" />
      <BitField name="TCIF5" description="TCIF5" start="17" size="1" />
      <BitField name="GIF5" description="GIF5" start="16" size="1" />
      <BitField name="TEIF4" description="TEIF4" start="15" size="1" />
      <BitField name="HTIF4" description="HTIF4" start="14" size="1" />
      <BitField name="TCIF4" description="TCIF4" start="13" size="1" />
      <BitField name="GIF4" description="GIF4" start="12" size="1" />
      <BitField name="TEIF3" description="TEIF3" start="11" size="1" />
      <BitField name="HTIF3" description="HTIF3" start="10" size="1" />
      <BitField name="TCIF3" description="TCIF3" start="9" size="1" />
      <BitField name="GIF3" description="GIF3" start="8" size="1" />
      <BitField name="TEIF2" description="TEIF2" start="7" size="1" />
      <BitField name="HTIF2" description="HTIF2" start="6" size="1" />
      <BitField name="TCIF2" description="TCIF2" start="5" size="1" />
      <BitField name="GIF2" description="GIF2" start="4" size="1" />
      <BitField name="TEIF1" description="TEIF1" start="3" size="1" />
      <BitField name="HTIF1" description="HTIF1" start="2" size="1" />
      <BitField name="TCIF1" description="TCIF1" start="1" size="1" />
      <BitField name="GIF1" description="GIF1" start="0" size="1" />
    </Register>
    <Register name="IFCR" description="DMA interrupt flag clear register" start="+0x4" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TEIF8" description="TEIF8" start="31" size="1" />
      <BitField name="HTIF8" description="HTIF8" start="30" size="1" />
      <BitField name="TCIF8" description="TCIF8" start="29" size="1" />
      <BitField name="GIF8" description="GIF8" start="28" size="1" />
      <BitField name="TEIF7" description="TEIF7" start="27" size="1" />
      <BitField name="HTIF7" description="HTIF7" start="26" size="1" />
      <BitField name="TCIF7" description="TCIF7" start="25" size="1" />
      <BitField name="GIF7" description="GIF7" start="24" size="1" />
      <BitField name="TEIF6" description="TEIF6" start="23" size="1" />
      <BitField name="HTIF6" description="HTIF6" start="22" size="1" />
      <BitField name="TCIF6" description="TCIF6" start="21" size="1" />
      <BitField name="GIF6" description="GIF6" start="20" size="1" />
      <BitField name="TEIF5" description="TEIF5" start="19" size="1" />
      <BitField name="HTIF5" description="HTIF5" start="18" size="1" />
      <BitField name="TCIF5" description="TCIF5" start="17" size="1" />
      <BitField name="GIF5" description="GIF5" start="16" size="1" />
      <BitField name="TEIF4" description="TEIF4" start="15" size="1" />
      <BitField name="HTIF4" description="HTIF4" start="14" size="1" />
      <BitField name="TCIF4" description="TCIF4" start="13" size="1" />
      <BitField name="GIF4" description="GIF4" start="12" size="1" />
      <BitField name="TEIF3" description="TEIF3" start="11" size="1" />
      <BitField name="HTIF3" description="HTIF3" start="10" size="1" />
      <BitField name="TCIF3" description="TCIF3" start="9" size="1" />
      <BitField name="GIF3" description="GIF3" start="8" size="1" />
      <BitField name="TEIF2" description="TEIF2" start="7" size="1" />
      <BitField name="HTIF2" description="HTIF2" start="6" size="1" />
      <BitField name="TCIF2" description="TCIF2" start="5" size="1" />
      <BitField name="GIF2" description="GIF2" start="4" size="1" />
      <BitField name="TEIF1" description="TEIF1" start="3" size="1" />
      <BitField name="HTIF1" description="HTIF1" start="2" size="1" />
      <BitField name="TCIF1" description="TCIF1" start="1" size="1" />
      <BitField name="GIF1" description="GIF1" start="0" size="1" />
    </Register>
    <Register name="CCR1" description="DMA channel 1 configuration register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="channel enable" start="0" size="1" />
      <BitField name="TCIE" description="TCIE" start="1" size="1" />
      <BitField name="HTIE" description="HTIE" start="2" size="1" />
      <BitField name="TEIE" description="TEIE" start="3" size="1" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="CIRC" description="CIRC" start="5" size="1" />
      <BitField name="PINC" description="PINC" start="6" size="1" />
      <BitField name="MINC" description="MINC" start="7" size="1" />
      <BitField name="PSIZE" description="PSIZE" start="8" size="2" />
      <BitField name="MSIZE" description="MSIZE" start="10" size="2" />
      <BitField name="PL" description="PL" start="12" size="2" />
      <BitField name="MEM2MEM" description="MEM2MEM" start="14" size="1" />
    </Register>
    <Register name="CCR2" description="DMA channel 2 configuration register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="channel enable" start="0" size="1" />
      <BitField name="TCIE" description="TCIE" start="1" size="1" />
      <BitField name="HTIE" description="HTIE" start="2" size="1" />
      <BitField name="TEIE" description="TEIE" start="3" size="1" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="CIRC" description="CIRC" start="5" size="1" />
      <BitField name="PINC" description="PINC" start="6" size="1" />
      <BitField name="MINC" description="MINC" start="7" size="1" />
      <BitField name="PSIZE" description="PSIZE" start="8" size="2" />
      <BitField name="MSIZE" description="MSIZE" start="10" size="2" />
      <BitField name="PL" description="PL" start="12" size="2" />
      <BitField name="MEM2MEM" description="MEM2MEM" start="14" size="1" />
    </Register>
    <Register name="CCR3" description="DMA channel 3 configuration register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="channel enable" start="0" size="1" />
      <BitField name="TCIE" description="TCIE" start="1" size="1" />
      <BitField name="HTIE" description="HTIE" start="2" size="1" />
      <BitField name="TEIE" description="TEIE" start="3" size="1" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="CIRC" description="CIRC" start="5" size="1" />
      <BitField name="PINC" description="PINC" start="6" size="1" />
      <BitField name="MINC" description="MINC" start="7" size="1" />
      <BitField name="PSIZE" description="PSIZE" start="8" size="2" />
      <BitField name="MSIZE" description="MSIZE" start="10" size="2" />
      <BitField name="PL" description="PL" start="12" size="2" />
      <BitField name="MEM2MEM" description="MEM2MEM" start="14" size="1" />
    </Register>
    <Register name="CCR4" description="DMA channel 3 configuration register" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="channel enable" start="0" size="1" />
      <BitField name="TCIE" description="TCIE" start="1" size="1" />
      <BitField name="HTIE" description="HTIE" start="2" size="1" />
      <BitField name="TEIE" description="TEIE" start="3" size="1" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="CIRC" description="CIRC" start="5" size="1" />
      <BitField name="PINC" description="PINC" start="6" size="1" />
      <BitField name="MINC" description="MINC" start="7" size="1" />
      <BitField name="PSIZE" description="PSIZE" start="8" size="2" />
      <BitField name="MSIZE" description="MSIZE" start="10" size="2" />
      <BitField name="PL" description="PL" start="12" size="2" />
      <BitField name="MEM2MEM" description="MEM2MEM" start="14" size="1" />
    </Register>
    <Register name="CCR5" description="DMA channel 4 configuration register" start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="channel enable" start="0" size="1" />
      <BitField name="TCIE" description="TCIE" start="1" size="1" />
      <BitField name="HTIE" description="HTIE" start="2" size="1" />
      <BitField name="TEIE" description="TEIE" start="3" size="1" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="CIRC" description="CIRC" start="5" size="1" />
      <BitField name="PINC" description="PINC" start="6" size="1" />
      <BitField name="MINC" description="MINC" start="7" size="1" />
      <BitField name="PSIZE" description="PSIZE" start="8" size="2" />
      <BitField name="MSIZE" description="MSIZE" start="10" size="2" />
      <BitField name="PL" description="PL" start="12" size="2" />
      <BitField name="MEM2MEM" description="MEM2MEM" start="14" size="1" />
    </Register>
    <Register name="CCR6" description="DMA channel 5 configuration register" start="+0x6C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="channel enable" start="0" size="1" />
      <BitField name="TCIE" description="TCIE" start="1" size="1" />
      <BitField name="HTIE" description="HTIE" start="2" size="1" />
      <BitField name="TEIE" description="TEIE" start="3" size="1" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="CIRC" description="CIRC" start="5" size="1" />
      <BitField name="PINC" description="PINC" start="6" size="1" />
      <BitField name="MINC" description="MINC" start="7" size="1" />
      <BitField name="PSIZE" description="PSIZE" start="8" size="2" />
      <BitField name="MSIZE" description="MSIZE" start="10" size="2" />
      <BitField name="PL" description="PL" start="12" size="2" />
      <BitField name="MEM2MEM" description="MEM2MEM" start="14" size="1" />
    </Register>
    <Register name="CCR7" description="DMA channel 6 configuration register" start="+0x80" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="channel enable" start="0" size="1" />
      <BitField name="TCIE" description="TCIE" start="1" size="1" />
      <BitField name="HTIE" description="HTIE" start="2" size="1" />
      <BitField name="TEIE" description="TEIE" start="3" size="1" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="CIRC" description="CIRC" start="5" size="1" />
      <BitField name="PINC" description="PINC" start="6" size="1" />
      <BitField name="MINC" description="MINC" start="7" size="1" />
      <BitField name="PSIZE" description="PSIZE" start="8" size="2" />
      <BitField name="MSIZE" description="MSIZE" start="10" size="2" />
      <BitField name="PL" description="PL" start="12" size="2" />
      <BitField name="MEM2MEM" description="MEM2MEM" start="14" size="1" />
    </Register>
    <Register name="CCR8" description="DMA channel 7 configuration register" start="+0x94" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="channel enable" start="0" size="1" />
      <BitField name="TCIE" description="TCIE" start="1" size="1" />
      <BitField name="HTIE" description="HTIE" start="2" size="1" />
      <BitField name="TEIE" description="TEIE" start="3" size="1" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="CIRC" description="CIRC" start="5" size="1" />
      <BitField name="PINC" description="PINC" start="6" size="1" />
      <BitField name="MINC" description="MINC" start="7" size="1" />
      <BitField name="PSIZE" description="PSIZE" start="8" size="2" />
      <BitField name="MSIZE" description="MSIZE" start="10" size="2" />
      <BitField name="PL" description="PL" start="12" size="2" />
      <BitField name="MEM2MEM" description="MEM2MEM" start="14" size="1" />
    </Register>
    <Register name="CNDTR1" description="channel x number of data to transfer register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NDT" description="Number of data items to transfer" start="0" size="16" />
    </Register>
    <Register name="CNDTR2" description="channel x number of data to transfer register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NDT" description="Number of data items to transfer" start="0" size="16" />
    </Register>
    <Register name="CNDTR3" description="channel x number of data to transfer register" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NDT" description="Number of data items to transfer" start="0" size="16" />
    </Register>
    <Register name="CNDTR4" description="channel x number of data to transfer register" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NDT" description="Number of data items to transfer" start="0" size="16" />
    </Register>
    <Register name="CNDTR5" description="channel x number of data to transfer register" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NDT" description="Number of data items to transfer" start="0" size="16" />
    </Register>
    <Register name="CNDTR6" description="channel x number of data to transfer register" start="+0x70" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NDT" description="Number of data items to transfer" start="0" size="16" />
    </Register>
    <Register name="CNDTR7" description="channel x number of data to transfer register" start="+0x84" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NDT" description="Number of data items to transfer" start="0" size="16" />
    </Register>
    <Register name="CNDTR8" description="channel x number of data to transfer register" start="+0x98" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NDT" description="Number of data items to transfer" start="0" size="16" />
    </Register>
    <Register name="CPAR1" description="DMA channel x peripheral address register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PA" description="Peripheral address" start="0" size="32" />
    </Register>
    <Register name="CPAR2" description="DMA channel x peripheral address register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PA" description="Peripheral address" start="0" size="32" />
    </Register>
    <Register name="CPAR3" description="DMA channel x peripheral address register" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PA" description="Peripheral address" start="0" size="32" />
    </Register>
    <Register name="CPAR4" description="DMA channel x peripheral address register" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PA" description="Peripheral address" start="0" size="32" />
    </Register>
    <Register name="CPAR5" description="DMA channel x peripheral address register" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PA" description="Peripheral address" start="0" size="32" />
    </Register>
    <Register name="CPAR6" description="DMA channel x peripheral address register" start="+0x74" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PA" description="Peripheral address" start="0" size="32" />
    </Register>
    <Register name="CPAR7" description="DMA channel x peripheral address register" start="+0x88" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PA" description="Peripheral address" start="0" size="32" />
    </Register>
    <Register name="CPAR8" description="DMA channel x peripheral address register" start="+0x9C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PA" description="Peripheral address" start="0" size="32" />
    </Register>
    <Register name="CMAR1" description="DMA channel x memory address register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MA" description="Memory 1 address (used in case of Double buffer mode)" start="0" size="32" />
    </Register>
    <Register name="CMAR2" description="DMA channel x memory address register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MA" description="Memory 1 address (used in case of Double buffer mode)" start="0" size="32" />
    </Register>
    <Register name="CMAR3" description="DMA channel x memory address register" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MA" description="Memory 1 address (used in case of Double buffer mode)" start="0" size="32" />
    </Register>
    <Register name="CMAR4" description="DMA channel x memory address register" start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MA" description="Memory 1 address (used in case of Double buffer mode)" start="0" size="32" />
    </Register>
    <Register name="CMAR5" description="DMA channel x memory address register" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MA" description="Memory 1 address (used in case of Double buffer mode)" start="0" size="32" />
    </Register>
    <Register name="CMAR6" description="DMA channel x memory address register" start="+0x78" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MA" description="Memory 1 address (used in case of Double buffer mode)" start="0" size="32" />
    </Register>
    <Register name="CMAR7" description="DMA channel x memory address register" start="+0x8C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MA" description="Memory 1 address (used in case of Double buffer mode)" start="0" size="32" />
    </Register>
    <Register name="CMAR8" description="DMA channel x memory address register" start="+0xA0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MA" description="Memory 1 address (used in case of Double buffer mode)" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="DMA2" description="DMA controller" start="0x40020400">
    <Register name="ISR" description="interrupt status register" start="+0x0" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TEIF8" description="TEIF8" start="31" size="1" />
      <BitField name="HTIF8" description="HTIF8" start="30" size="1" />
      <BitField name="TCIF8" description="TCIF8" start="29" size="1" />
      <BitField name="GIF8" description="GIF8" start="28" size="1" />
      <BitField name="TEIF7" description="TEIF7" start="27" size="1" />
      <BitField name="HTIF7" description="HTIF7" start="26" size="1" />
      <BitField name="TCIF7" description="TCIF7" start="25" size="1" />
      <BitField name="GIF7" description="GIF7" start="24" size="1" />
      <BitField name="TEIF6" description="TEIF6" start="23" size="1" />
      <BitField name="HTIF6" description="HTIF6" start="22" size="1" />
      <BitField name="TCIF6" description="TCIF6" start="21" size="1" />
      <BitField name="GIF6" description="GIF6" start="20" size="1" />
      <BitField name="TEIF5" description="TEIF5" start="19" size="1" />
      <BitField name="HTIF5" description="HTIF5" start="18" size="1" />
      <BitField name="TCIF5" description="TCIF5" start="17" size="1" />
      <BitField name="GIF5" description="GIF5" start="16" size="1" />
      <BitField name="TEIF4" description="TEIF4" start="15" size="1" />
      <BitField name="HTIF4" description="HTIF4" start="14" size="1" />
      <BitField name="TCIF4" description="TCIF4" start="13" size="1" />
      <BitField name="GIF4" description="GIF4" start="12" size="1" />
      <BitField name="TEIF3" description="TEIF3" start="11" size="1" />
      <BitField name="HTIF3" description="HTIF3" start="10" size="1" />
      <BitField name="TCIF3" description="TCIF3" start="9" size="1" />
      <BitField name="GIF3" description="GIF3" start="8" size="1" />
      <BitField name="TEIF2" description="TEIF2" start="7" size="1" />
      <BitField name="HTIF2" description="HTIF2" start="6" size="1" />
      <BitField name="TCIF2" description="TCIF2" start="5" size="1" />
      <BitField name="GIF2" description="GIF2" start="4" size="1" />
      <BitField name="TEIF1" description="TEIF1" start="3" size="1" />
      <BitField name="HTIF1" description="HTIF1" start="2" size="1" />
      <BitField name="TCIF1" description="TCIF1" start="1" size="1" />
      <BitField name="GIF1" description="GIF1" start="0" size="1" />
    </Register>
    <Register name="IFCR" description="DMA interrupt flag clear register" start="+0x4" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TEIF8" description="TEIF8" start="31" size="1" />
      <BitField name="HTIF8" description="HTIF8" start="30" size="1" />
      <BitField name="TCIF8" description="TCIF8" start="29" size="1" />
      <BitField name="GIF8" description="GIF8" start="28" size="1" />
      <BitField name="TEIF7" description="TEIF7" start="27" size="1" />
      <BitField name="HTIF7" description="HTIF7" start="26" size="1" />
      <BitField name="TCIF7" description="TCIF7" start="25" size="1" />
      <BitField name="GIF7" description="GIF7" start="24" size="1" />
      <BitField name="TEIF6" description="TEIF6" start="23" size="1" />
      <BitField name="HTIF6" description="HTIF6" start="22" size="1" />
      <BitField name="TCIF6" description="TCIF6" start="21" size="1" />
      <BitField name="GIF6" description="GIF6" start="20" size="1" />
      <BitField name="TEIF5" description="TEIF5" start="19" size="1" />
      <BitField name="HTIF5" description="HTIF5" start="18" size="1" />
      <BitField name="TCIF5" description="TCIF5" start="17" size="1" />
      <BitField name="GIF5" description="GIF5" start="16" size="1" />
      <BitField name="TEIF4" description="TEIF4" start="15" size="1" />
      <BitField name="HTIF4" description="HTIF4" start="14" size="1" />
      <BitField name="TCIF4" description="TCIF4" start="13" size="1" />
      <BitField name="GIF4" description="GIF4" start="12" size="1" />
      <BitField name="TEIF3" description="TEIF3" start="11" size="1" />
      <BitField name="HTIF3" description="HTIF3" start="10" size="1" />
      <BitField name="TCIF3" description="TCIF3" start="9" size="1" />
      <BitField name="GIF3" description="GIF3" start="8" size="1" />
      <BitField name="TEIF2" description="TEIF2" start="7" size="1" />
      <BitField name="HTIF2" description="HTIF2" start="6" size="1" />
      <BitField name="TCIF2" description="TCIF2" start="5" size="1" />
      <BitField name="GIF2" description="GIF2" start="4" size="1" />
      <BitField name="TEIF1" description="TEIF1" start="3" size="1" />
      <BitField name="HTIF1" description="HTIF1" start="2" size="1" />
      <BitField name="TCIF1" description="TCIF1" start="1" size="1" />
      <BitField name="GIF1" description="GIF1" start="0" size="1" />
    </Register>
    <Register name="CCR1" description="DMA channel 1 configuration register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="channel enable" start="0" size="1" />
      <BitField name="TCIE" description="TCIE" start="1" size="1" />
      <BitField name="HTIE" description="HTIE" start="2" size="1" />
      <BitField name="TEIE" description="TEIE" start="3" size="1" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="CIRC" description="CIRC" start="5" size="1" />
      <BitField name="PINC" description="PINC" start="6" size="1" />
      <BitField name="MINC" description="MINC" start="7" size="1" />
      <BitField name="PSIZE" description="PSIZE" start="8" size="2" />
      <BitField name="MSIZE" description="MSIZE" start="10" size="2" />
      <BitField name="PL" description="PL" start="12" size="2" />
      <BitField name="MEM2MEM" description="MEM2MEM" start="14" size="1" />
    </Register>
    <Register name="CCR2" description="DMA channel 2 configuration register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="channel enable" start="0" size="1" />
      <BitField name="TCIE" description="TCIE" start="1" size="1" />
      <BitField name="HTIE" description="HTIE" start="2" size="1" />
      <BitField name="TEIE" description="TEIE" start="3" size="1" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="CIRC" description="CIRC" start="5" size="1" />
      <BitField name="PINC" description="PINC" start="6" size="1" />
      <BitField name="MINC" description="MINC" start="7" size="1" />
      <BitField name="PSIZE" description="PSIZE" start="8" size="2" />
      <BitField name="MSIZE" description="MSIZE" start="10" size="2" />
      <BitField name="PL" description="PL" start="12" size="2" />
      <BitField name="MEM2MEM" description="MEM2MEM" start="14" size="1" />
    </Register>
    <Register name="CCR3" description="DMA channel 3 configuration register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="channel enable" start="0" size="1" />
      <BitField name="TCIE" description="TCIE" start="1" size="1" />
      <BitField name="HTIE" description="HTIE" start="2" size="1" />
      <BitField name="TEIE" description="TEIE" start="3" size="1" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="CIRC" description="CIRC" start="5" size="1" />
      <BitField name="PINC" description="PINC" start="6" size="1" />
      <BitField name="MINC" description="MINC" start="7" size="1" />
      <BitField name="PSIZE" description="PSIZE" start="8" size="2" />
      <BitField name="MSIZE" description="MSIZE" start="10" size="2" />
      <BitField name="PL" description="PL" start="12" size="2" />
      <BitField name="MEM2MEM" description="MEM2MEM" start="14" size="1" />
    </Register>
    <Register name="CCR4" description="DMA channel 3 configuration register" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="channel enable" start="0" size="1" />
      <BitField name="TCIE" description="TCIE" start="1" size="1" />
      <BitField name="HTIE" description="HTIE" start="2" size="1" />
      <BitField name="TEIE" description="TEIE" start="3" size="1" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="CIRC" description="CIRC" start="5" size="1" />
      <BitField name="PINC" description="PINC" start="6" size="1" />
      <BitField name="MINC" description="MINC" start="7" size="1" />
      <BitField name="PSIZE" description="PSIZE" start="8" size="2" />
      <BitField name="MSIZE" description="MSIZE" start="10" size="2" />
      <BitField name="PL" description="PL" start="12" size="2" />
      <BitField name="MEM2MEM" description="MEM2MEM" start="14" size="1" />
    </Register>
    <Register name="CCR5" description="DMA channel 4 configuration register" start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="channel enable" start="0" size="1" />
      <BitField name="TCIE" description="TCIE" start="1" size="1" />
      <BitField name="HTIE" description="HTIE" start="2" size="1" />
      <BitField name="TEIE" description="TEIE" start="3" size="1" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="CIRC" description="CIRC" start="5" size="1" />
      <BitField name="PINC" description="PINC" start="6" size="1" />
      <BitField name="MINC" description="MINC" start="7" size="1" />
      <BitField name="PSIZE" description="PSIZE" start="8" size="2" />
      <BitField name="MSIZE" description="MSIZE" start="10" size="2" />
      <BitField name="PL" description="PL" start="12" size="2" />
      <BitField name="MEM2MEM" description="MEM2MEM" start="14" size="1" />
    </Register>
    <Register name="CCR6" description="DMA channel 5 configuration register" start="+0x6C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="channel enable" start="0" size="1" />
      <BitField name="TCIE" description="TCIE" start="1" size="1" />
      <BitField name="HTIE" description="HTIE" start="2" size="1" />
      <BitField name="TEIE" description="TEIE" start="3" size="1" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="CIRC" description="CIRC" start="5" size="1" />
      <BitField name="PINC" description="PINC" start="6" size="1" />
      <BitField name="MINC" description="MINC" start="7" size="1" />
      <BitField name="PSIZE" description="PSIZE" start="8" size="2" />
      <BitField name="MSIZE" description="MSIZE" start="10" size="2" />
      <BitField name="PL" description="PL" start="12" size="2" />
      <BitField name="MEM2MEM" description="MEM2MEM" start="14" size="1" />
    </Register>
    <Register name="CCR7" description="DMA channel 6 configuration register" start="+0x80" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="channel enable" start="0" size="1" />
      <BitField name="TCIE" description="TCIE" start="1" size="1" />
      <BitField name="HTIE" description="HTIE" start="2" size="1" />
      <BitField name="TEIE" description="TEIE" start="3" size="1" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="CIRC" description="CIRC" start="5" size="1" />
      <BitField name="PINC" description="PINC" start="6" size="1" />
      <BitField name="MINC" description="MINC" start="7" size="1" />
      <BitField name="PSIZE" description="PSIZE" start="8" size="2" />
      <BitField name="MSIZE" description="MSIZE" start="10" size="2" />
      <BitField name="PL" description="PL" start="12" size="2" />
      <BitField name="MEM2MEM" description="MEM2MEM" start="14" size="1" />
    </Register>
    <Register name="CCR8" description="DMA channel 7 configuration register" start="+0x94" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="channel enable" start="0" size="1" />
      <BitField name="TCIE" description="TCIE" start="1" size="1" />
      <BitField name="HTIE" description="HTIE" start="2" size="1" />
      <BitField name="TEIE" description="TEIE" start="3" size="1" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="CIRC" description="CIRC" start="5" size="1" />
      <BitField name="PINC" description="PINC" start="6" size="1" />
      <BitField name="MINC" description="MINC" start="7" size="1" />
      <BitField name="PSIZE" description="PSIZE" start="8" size="2" />
      <BitField name="MSIZE" description="MSIZE" start="10" size="2" />
      <BitField name="PL" description="PL" start="12" size="2" />
      <BitField name="MEM2MEM" description="MEM2MEM" start="14" size="1" />
    </Register>
    <Register name="CNDTR1" description="channel x number of data to transfer register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NDT" description="Number of data items to transfer" start="0" size="16" />
    </Register>
    <Register name="CNDTR2" description="channel x number of data to transfer register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NDT" description="Number of data items to transfer" start="0" size="16" />
    </Register>
    <Register name="CNDTR3" description="channel x number of data to transfer register" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NDT" description="Number of data items to transfer" start="0" size="16" />
    </Register>
    <Register name="CNDTR4" description="channel x number of data to transfer register" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NDT" description="Number of data items to transfer" start="0" size="16" />
    </Register>
    <Register name="CNDTR5" description="channel x number of data to transfer register" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NDT" description="Number of data items to transfer" start="0" size="16" />
    </Register>
    <Register name="CNDTR6" description="channel x number of data to transfer register" start="+0x70" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NDT" description="Number of data items to transfer" start="0" size="16" />
    </Register>
    <Register name="CNDTR7" description="channel x number of data to transfer register" start="+0x84" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NDT" description="Number of data items to transfer" start="0" size="16" />
    </Register>
    <Register name="CNDTR8" description="channel x number of data to transfer register" start="+0x98" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NDT" description="Number of data items to transfer" start="0" size="16" />
    </Register>
    <Register name="CPAR1" description="DMA channel x peripheral address register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PA" description="Peripheral address" start="0" size="32" />
    </Register>
    <Register name="CPAR2" description="DMA channel x peripheral address register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PA" description="Peripheral address" start="0" size="32" />
    </Register>
    <Register name="CPAR3" description="DMA channel x peripheral address register" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PA" description="Peripheral address" start="0" size="32" />
    </Register>
    <Register name="CPAR4" description="DMA channel x peripheral address register" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PA" description="Peripheral address" start="0" size="32" />
    </Register>
    <Register name="CPAR5" description="DMA channel x peripheral address register" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PA" description="Peripheral address" start="0" size="32" />
    </Register>
    <Register name="CPAR6" description="DMA channel x peripheral address register" start="+0x74" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PA" description="Peripheral address" start="0" size="32" />
    </Register>
    <Register name="CPAR7" description="DMA channel x peripheral address register" start="+0x88" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PA" description="Peripheral address" start="0" size="32" />
    </Register>
    <Register name="CPAR8" description="DMA channel x peripheral address register" start="+0x9C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PA" description="Peripheral address" start="0" size="32" />
    </Register>
    <Register name="CMAR1" description="DMA channel x memory address register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MA" description="Memory 1 address (used in case of Double buffer mode)" start="0" size="32" />
    </Register>
    <Register name="CMAR2" description="DMA channel x memory address register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MA" description="Memory 1 address (used in case of Double buffer mode)" start="0" size="32" />
    </Register>
    <Register name="CMAR3" description="DMA channel x memory address register" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MA" description="Memory 1 address (used in case of Double buffer mode)" start="0" size="32" />
    </Register>
    <Register name="CMAR4" description="DMA channel x memory address register" start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MA" description="Memory 1 address (used in case of Double buffer mode)" start="0" size="32" />
    </Register>
    <Register name="CMAR5" description="DMA channel x memory address register" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MA" description="Memory 1 address (used in case of Double buffer mode)" start="0" size="32" />
    </Register>
    <Register name="CMAR6" description="DMA channel x memory address register" start="+0x78" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MA" description="Memory 1 address (used in case of Double buffer mode)" start="0" size="32" />
    </Register>
    <Register name="CMAR7" description="DMA channel x memory address register" start="+0x8C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MA" description="Memory 1 address (used in case of Double buffer mode)" start="0" size="32" />
    </Register>
    <Register name="CMAR8" description="DMA channel x memory address register" start="+0xA0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MA" description="Memory 1 address (used in case of Double buffer mode)" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="DMAMUX" description="DMAMUX" start="0x40020800">
    <Register name="C0CR" description="DMAMux - DMA request line multiplexer channel x control register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAREQ_ID" description="Input DMA request line selected" start="0" size="7" />
      <BitField name="SOIE" description="Interrupt enable at synchronization event overrun" start="8" size="1" />
      <BitField name="EGE" description="Event generation enable/disable" start="9" size="1" />
      <BitField name="SE" description="Synchronous operating mode enable/disable" start="16" size="1" />
      <BitField name="SPOL" description="Synchronization event type selector Defines the synchronization event on the selected synchronization input:" start="17" size="2" />
      <BitField name="NBREQ" description="Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset." start="19" size="5" />
      <BitField name="SYNC_ID" description="Synchronization input selected" start="24" size="5" />
    </Register>
    <Register name="C1CR" description="DMAMux - DMA request line multiplexer channel x control register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAREQ_ID" description="Input DMA request line selected" start="0" size="7" />
      <BitField name="SOIE" description="Interrupt enable at synchronization event overrun" start="8" size="1" />
      <BitField name="EGE" description="Event generation enable/disable" start="9" size="1" />
      <BitField name="SE" description="Synchronous operating mode enable/disable" start="16" size="1" />
      <BitField name="SPOL" description="Synchronization event type selector Defines the synchronization event on the selected synchronization input:" start="17" size="2" />
      <BitField name="NBREQ" description="Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset." start="19" size="5" />
      <BitField name="SYNC_ID" description="Synchronization input selected" start="24" size="5" />
    </Register>
    <Register name="C2CR" description="DMAMux - DMA request line multiplexer channel x control register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAREQ_ID" description="Input DMA request line selected" start="0" size="7" />
      <BitField name="SOIE" description="Interrupt enable at synchronization event overrun" start="8" size="1" />
      <BitField name="EGE" description="Event generation enable/disable" start="9" size="1" />
      <BitField name="SE" description="Synchronous operating mode enable/disable" start="16" size="1" />
      <BitField name="SPOL" description="Synchronization event type selector Defines the synchronization event on the selected synchronization input:" start="17" size="2" />
      <BitField name="NBREQ" description="Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset." start="19" size="5" />
      <BitField name="SYNC_ID" description="Synchronization input selected" start="24" size="5" />
    </Register>
    <Register name="C3CR" description="DMAMux - DMA request line multiplexer channel x control register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAREQ_ID" description="Input DMA request line selected" start="0" size="7" />
      <BitField name="SOIE" description="Interrupt enable at synchronization event overrun" start="8" size="1" />
      <BitField name="EGE" description="Event generation enable/disable" start="9" size="1" />
      <BitField name="SE" description="Synchronous operating mode enable/disable" start="16" size="1" />
      <BitField name="SPOL" description="Synchronization event type selector Defines the synchronization event on the selected synchronization input:" start="17" size="2" />
      <BitField name="NBREQ" description="Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset." start="19" size="5" />
      <BitField name="SYNC_ID" description="Synchronization input selected" start="24" size="5" />
    </Register>
    <Register name="C4CR" description="DMAMux - DMA request line multiplexer channel x control register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAREQ_ID" description="Input DMA request line selected" start="0" size="7" />
      <BitField name="SOIE" description="Interrupt enable at synchronization event overrun" start="8" size="1" />
      <BitField name="EGE" description="Event generation enable/disable" start="9" size="1" />
      <BitField name="SE" description="Synchronous operating mode enable/disable" start="16" size="1" />
      <BitField name="SPOL" description="Synchronization event type selector Defines the synchronization event on the selected synchronization input:" start="17" size="2" />
      <BitField name="NBREQ" description="Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset." start="19" size="5" />
      <BitField name="SYNC_ID" description="Synchronization input selected" start="24" size="5" />
    </Register>
    <Register name="C5CR" description="DMAMux - DMA request line multiplexer channel x control register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAREQ_ID" description="Input DMA request line selected" start="0" size="7" />
      <BitField name="SOIE" description="Interrupt enable at synchronization event overrun" start="8" size="1" />
      <BitField name="EGE" description="Event generation enable/disable" start="9" size="1" />
      <BitField name="SE" description="Synchronous operating mode enable/disable" start="16" size="1" />
      <BitField name="SPOL" description="Synchronization event type selector Defines the synchronization event on the selected synchronization input:" start="17" size="2" />
      <BitField name="NBREQ" description="Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset." start="19" size="5" />
      <BitField name="SYNC_ID" description="Synchronization input selected" start="24" size="5" />
    </Register>
    <Register name="C6CR" description="DMAMux - DMA request line multiplexer channel x control register" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAREQ_ID" description="Input DMA request line selected" start="0" size="7" />
      <BitField name="SOIE" description="Interrupt enable at synchronization event overrun" start="8" size="1" />
      <BitField name="EGE" description="Event generation enable/disable" start="9" size="1" />
      <BitField name="SE" description="Synchronous operating mode enable/disable" start="16" size="1" />
      <BitField name="SPOL" description="Synchronization event type selector Defines the synchronization event on the selected synchronization input:" start="17" size="2" />
      <BitField name="NBREQ" description="Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset." start="19" size="5" />
      <BitField name="SYNC_ID" description="Synchronization input selected" start="24" size="5" />
    </Register>
    <Register name="C7CR" description="DMAMux - DMA request line multiplexer channel x control register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAREQ_ID" description="Input DMA request line selected" start="0" size="7" />
      <BitField name="SOIE" description="Interrupt enable at synchronization event overrun" start="8" size="1" />
      <BitField name="EGE" description="Event generation enable/disable" start="9" size="1" />
      <BitField name="SE" description="Synchronous operating mode enable/disable" start="16" size="1" />
      <BitField name="SPOL" description="Synchronization event type selector Defines the synchronization event on the selected synchronization input:" start="17" size="2" />
      <BitField name="NBREQ" description="Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset." start="19" size="5" />
      <BitField name="SYNC_ID" description="Synchronization input selected" start="24" size="5" />
    </Register>
    <Register name="C8CR" description="DMAMux - DMA request line multiplexer channel x control register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAREQ_ID" description="Input DMA request line selected" start="0" size="7" />
      <BitField name="SOIE" description="Interrupt enable at synchronization event overrun" start="8" size="1" />
      <BitField name="EGE" description="Event generation enable/disable" start="9" size="1" />
      <BitField name="SE" description="Synchronous operating mode enable/disable" start="16" size="1" />
      <BitField name="SPOL" description="Synchronization event type selector Defines the synchronization event on the selected synchronization input:" start="17" size="2" />
      <BitField name="NBREQ" description="Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset." start="19" size="5" />
      <BitField name="SYNC_ID" description="Synchronization input selected" start="24" size="5" />
    </Register>
    <Register name="C9CR" description="DMAMux - DMA request line multiplexer channel x control register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAREQ_ID" description="Input DMA request line selected" start="0" size="7" />
      <BitField name="SOIE" description="Interrupt enable at synchronization event overrun" start="8" size="1" />
      <BitField name="EGE" description="Event generation enable/disable" start="9" size="1" />
      <BitField name="SE" description="Synchronous operating mode enable/disable" start="16" size="1" />
      <BitField name="SPOL" description="Synchronization event type selector Defines the synchronization event on the selected synchronization input:" start="17" size="2" />
      <BitField name="NBREQ" description="Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset." start="19" size="5" />
      <BitField name="SYNC_ID" description="Synchronization input selected" start="24" size="5" />
    </Register>
    <Register name="C10CR" description="DMAMux - DMA request line multiplexer channel x control register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAREQ_ID" description="Input DMA request line selected" start="0" size="7" />
      <BitField name="SOIE" description="Interrupt enable at synchronization event overrun" start="8" size="1" />
      <BitField name="EGE" description="Event generation enable/disable" start="9" size="1" />
      <BitField name="SE" description="Synchronous operating mode enable/disable" start="16" size="1" />
      <BitField name="SPOL" description="Synchronization event type selector Defines the synchronization event on the selected synchronization input:" start="17" size="2" />
      <BitField name="NBREQ" description="Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset." start="19" size="5" />
      <BitField name="SYNC_ID" description="Synchronization input selected" start="24" size="5" />
    </Register>
    <Register name="C11CR" description="DMAMux - DMA request line multiplexer channel x control register" start="+0x2C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAREQ_ID" description="Input DMA request line selected" start="0" size="7" />
      <BitField name="SOIE" description="Interrupt enable at synchronization event overrun" start="8" size="1" />
      <BitField name="EGE" description="Event generation enable/disable" start="9" size="1" />
      <BitField name="SE" description="Synchronous operating mode enable/disable" start="16" size="1" />
      <BitField name="SPOL" description="Synchronization event type selector Defines the synchronization event on the selected synchronization input:" start="17" size="2" />
      <BitField name="NBREQ" description="Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset." start="19" size="5" />
      <BitField name="SYNC_ID" description="Synchronization input selected" start="24" size="5" />
    </Register>
    <Register name="C12CR" description="DMAMux - DMA request line multiplexer channel x control register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAREQ_ID" description="Input DMA request line selected" start="0" size="7" />
      <BitField name="SOIE" description="Interrupt enable at synchronization event overrun" start="8" size="1" />
      <BitField name="EGE" description="Event generation enable/disable" start="9" size="1" />
      <BitField name="SE" description="Synchronous operating mode enable/disable" start="16" size="1" />
      <BitField name="SPOL" description="Synchronization event type selector Defines the synchronization event on the selected synchronization input:" start="17" size="2" />
      <BitField name="NBREQ" description="Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset." start="19" size="5" />
      <BitField name="SYNC_ID" description="Synchronization input selected" start="24" size="5" />
    </Register>
    <Register name="C13CR" description="DMAMux - DMA request line multiplexer channel x control register" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAREQ_ID" description="Input DMA request line selected" start="0" size="7" />
      <BitField name="SOIE" description="Interrupt enable at synchronization event overrun" start="8" size="1" />
      <BitField name="EGE" description="Event generation enable/disable" start="9" size="1" />
      <BitField name="SE" description="Synchronous operating mode enable/disable" start="16" size="1" />
      <BitField name="SPOL" description="Synchronization event type selector Defines the synchronization event on the selected synchronization input:" start="17" size="2" />
      <BitField name="NBREQ" description="Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset." start="19" size="5" />
      <BitField name="SYNC_ID" description="Synchronization input selected" start="24" size="5" />
    </Register>
    <Register name="C14CR" description="DMAMux - DMA request line multiplexer channel x control register" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAREQ_ID" description="Input DMA request line selected" start="0" size="7" />
      <BitField name="SOIE" description="Interrupt enable at synchronization event overrun" start="8" size="1" />
      <BitField name="EGE" description="Event generation enable/disable" start="9" size="1" />
      <BitField name="SE" description="Synchronous operating mode enable/disable" start="16" size="1" />
      <BitField name="SPOL" description="Synchronization event type selector Defines the synchronization event on the selected synchronization input:" start="17" size="2" />
      <BitField name="NBREQ" description="Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset." start="19" size="5" />
      <BitField name="SYNC_ID" description="Synchronization input selected" start="24" size="5" />
    </Register>
    <Register name="C15CR" description="DMAMux - DMA request line multiplexer channel x control register" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DMAREQ_ID" description="Input DMA request line selected" start="0" size="7" />
      <BitField name="SOIE" description="Interrupt enable at synchronization event overrun" start="8" size="1" />
      <BitField name="EGE" description="Event generation enable/disable" start="9" size="1" />
      <BitField name="SE" description="Synchronous operating mode enable/disable" start="16" size="1" />
      <BitField name="SPOL" description="Synchronization event type selector Defines the synchronization event on the selected synchronization input:" start="17" size="2" />
      <BitField name="NBREQ" description="Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset." start="19" size="5" />
      <BitField name="SYNC_ID" description="Synchronization input selected" start="24" size="5" />
    </Register>
    <Register name="RG0CR" description="DMAMux - DMA request generator channel x control register" start="+0x100" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SIG_ID" description="DMA request trigger input selected" start="0" size="5" />
      <BitField name="OIE" description="Interrupt enable at trigger event overrun" start="8" size="1" />
      <BitField name="GE" description="DMA request generator channel enable/disable" start="16" size="1" />
      <BitField name="GPOL" description="DMA request generator trigger event type selection Defines the trigger event on the selected DMA request trigger input" start="17" size="2" />
      <BitField name="GNBREQ" description="Number of DMA requests to generate Defines the number of DMA requests generated after a trigger event, then stop generating. The actual number of generated DMA requests is GNBREQ+1. Note: This field can only be written when GE bit is reset." start="19" size="5" />
    </Register>
    <Register name="RG1CR" description="DMAMux - DMA request generator channel x control register" start="+0x104" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SIG_ID" description="DMA request trigger input selected" start="0" size="5" />
      <BitField name="OIE" description="Interrupt enable at trigger event overrun" start="8" size="1" />
      <BitField name="GE" description="DMA request generator channel enable/disable" start="16" size="1" />
      <BitField name="GPOL" description="DMA request generator trigger event type selection Defines the trigger event on the selected DMA request trigger input" start="17" size="2" />
      <BitField name="GNBREQ" description="Number of DMA requests to generate Defines the number of DMA requests generated after a trigger event, then stop generating. The actual number of generated DMA requests is GNBREQ+1. Note: This field can only be written when GE bit is reset." start="19" size="5" />
    </Register>
    <Register name="RG2CR" description="DMAMux - DMA request generator channel x control register" start="+0x108" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SIG_ID" description="DMA request trigger input selected" start="0" size="5" />
      <BitField name="OIE" description="Interrupt enable at trigger event overrun" start="8" size="1" />
      <BitField name="GE" description="DMA request generator channel enable/disable" start="16" size="1" />
      <BitField name="GPOL" description="DMA request generator trigger event type selection Defines the trigger event on the selected DMA request trigger input" start="17" size="2" />
      <BitField name="GNBREQ" description="Number of DMA requests to generate Defines the number of DMA requests generated after a trigger event, then stop generating. The actual number of generated DMA requests is GNBREQ+1. Note: This field can only be written when GE bit is reset." start="19" size="5" />
    </Register>
    <Register name="RG3CR" description="DMAMux - DMA request generator channel x control register" start="+0x10C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SIG_ID" description="DMA request trigger input selected" start="0" size="5" />
      <BitField name="OIE" description="Interrupt enable at trigger event overrun" start="8" size="1" />
      <BitField name="GE" description="DMA request generator channel enable/disable" start="16" size="1" />
      <BitField name="GPOL" description="DMA request generator trigger event type selection Defines the trigger event on the selected DMA request trigger input" start="17" size="2" />
      <BitField name="GNBREQ" description="Number of DMA requests to generate Defines the number of DMA requests generated after a trigger event, then stop generating. The actual number of generated DMA requests is GNBREQ+1. Note: This field can only be written when GE bit is reset." start="19" size="5" />
    </Register>
    <Register name="RGSR" description="DMAMux - DMA request generator status register" start="+0x140" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OF" description="Trigger event overrun flag The flag is set when a trigger event occurs on DMA request generator channel x, while the DMA request generator counter value is lower than GNBREQ. The flag is cleared by writing 1 to the corresponding COFx bit in DMAMUX_RGCFR register." start="0" size="4" />
    </Register>
    <Register name="RGCFR" description="DMAMux - DMA request generator clear flag register" start="+0x144" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="COF" description="Clear trigger event overrun flag Upon setting, this bit clears the corresponding overrun flag OFx in the DMAMUX_RGCSR register." start="0" size="4" />
    </Register>
    <Register name="CSR" description="DMAMUX request line multiplexer interrupt channel status register" start="+0x80" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SOF" description="Synchronization overrun event flag" start="0" size="16" />
    </Register>
    <Register name="CFR" description="DMAMUX request line multiplexer interrupt clear flag register" start="+0x84" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CSOF" description="Clear synchronization overrun event flag" start="0" size="16" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="SYSCFG" description="System configuration controller" start="0x40010000">
    <Register name="MEMRMP" description="Remap Memory register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MEM_MODE" description="Memory mapping selection" start="0" size="3" />
      <BitField name="FB_mode" description="User Flash Bank mode" start="8" size="1" />
    </Register>
    <Register name="CFGR1" description="peripheral mode configuration register" start="+0x4" size="4" access="Read/Write" reset_value="0x7C000001" reset_mask="0xFFFFFFFF">
      <BitField name="BOOSTEN" description="BOOSTEN" start="8" size="1" />
      <BitField name="ANASWVDD" description="GPIO analog switch control voltage selection" start="9" size="1" />
      <BitField name="I2C_PB6_FMP" description="FM+ drive capability on PB6" start="16" size="1" />
      <BitField name="I2C_PB7_FMP" description="FM+ drive capability on PB6" start="17" size="1" />
      <BitField name="I2C_PB8_FMP" description="FM+ drive capability on PB6" start="18" size="1" />
      <BitField name="I2C_PB9_FMP" description="FM+ drive capability on PB6" start="19" size="1" />
      <BitField name="I2C1_FMP" description="I2C1 FM+ drive capability enable" start="20" size="1" />
      <BitField name="I2C2_FMP" description="I2C1 FM+ drive capability enable" start="21" size="1" />
      <BitField name="I2C3_FMP" description="I2C1 FM+ drive capability enable" start="22" size="1" />
      <BitField name="I2C4_FMP" description="I2C1 FM+ drive capability enable" start="23" size="1" />
      <BitField name="FPU_IE" description="FPU Interrupts Enable" start="26" size="6" />
    </Register>
    <Register name="EXTICR1" description="external interrupt configuration register 1" start="+0x8" size="4" access="Read/Write" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField name="EXTI3" description="EXTI x configuration (x = 0 to 3)" start="12" size="4" />
      <BitField name="EXTI2" description="EXTI x configuration (x = 0 to 3)" start="8" size="4" />
      <BitField name="EXTI1" description="EXTI x configuration (x = 0 to 3)" start="4" size="4" />
      <BitField name="EXTI0" description="EXTI x configuration (x = 0 to 3)" start="0" size="4" />
    </Register>
    <Register name="EXTICR2" description="external interrupt configuration register 2" start="+0xC" size="4" access="Read/Write" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField name="EXTI7" description="EXTI x configuration (x = 4 to 7)" start="12" size="4" />
      <BitField name="EXTI6" description="EXTI x configuration (x = 4 to 7)" start="8" size="4" />
      <BitField name="EXTI5" description="EXTI x configuration (x = 4 to 7)" start="4" size="4" />
      <BitField name="EXTI4" description="EXTI x configuration (x = 4 to 7)" start="0" size="4" />
    </Register>
    <Register name="EXTICR3" description="external interrupt configuration register 3" start="+0x10" size="4" access="Read/Write" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField name="EXTI11" description="EXTI x configuration (x = 8 to 11)" start="12" size="4" />
      <BitField name="EXTI10" description="EXTI10" start="8" size="4" />
      <BitField name="EXTI9" description="EXTI x configuration (x = 8 to 11)" start="4" size="4" />
      <BitField name="EXTI8" description="EXTI x configuration (x = 8 to 11)" start="0" size="4" />
    </Register>
    <Register name="EXTICR4" description="external interrupt configuration register 4" start="+0x14" size="4" access="Read/Write" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField name="EXTI15" description="EXTI x configuration (x = 12 to 15)" start="12" size="4" />
      <BitField name="EXTI14" description="EXTI x configuration (x = 12 to 15)" start="8" size="4" />
      <BitField name="EXTI13" description="EXTI x configuration (x = 12 to 15)" start="4" size="4" />
      <BitField name="EXTI12" description="EXTI x configuration (x = 12 to 15)" start="0" size="4" />
    </Register>
    <Register name="SCSR" description="CCM SRAM control and status register" start="+0x18" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CCMER" description="CCM SRAM Erase" start="0" size="1" access="Read/Write" />
      <BitField name="CCMBSY" description="CCM SRAM busy by erase operation" start="1" size="1" access="ReadOnly" />
    </Register>
    <Register name="CFGR2" description="configuration register 2" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CLL" description="Core Lockup Lock" start="0" size="1" />
      <BitField name="SPL" description="SRAM Parity Lock" start="1" size="1" />
      <BitField name="PVDL" description="PVD Lock" start="2" size="1" />
      <BitField name="ECCL" description="ECC Lock" start="3" size="1" />
      <BitField name="SPF" description="SRAM Parity Flag" start="8" size="1" />
    </Register>
    <Register name="SWPR" description="SRAM Write protection register 1" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="Page0_WP" description="Write protection" start="0" size="1" />
      <BitField name="Page1_WP" description="Write protection" start="1" size="1" />
      <BitField name="Page2_WP" description="Write protection" start="2" size="1" />
      <BitField name="Page3_WP" description="Write protection" start="3" size="1" />
      <BitField name="Page4_WP" description="Write protection" start="4" size="1" />
      <BitField name="Page5_WP" description="Write protection" start="5" size="1" />
      <BitField name="Page6_WP" description="Write protection" start="6" size="1" />
      <BitField name="Page7_WP" description="Write protection" start="7" size="1" />
      <BitField name="Page8_WP" description="Write protection" start="8" size="1" />
      <BitField name="Page9_WP" description="Write protection" start="9" size="1" />
      <BitField name="Page10_WP" description="Write protection" start="10" size="1" />
      <BitField name="Page11_WP" description="Write protection" start="11" size="1" />
      <BitField name="Page12_WP" description="Write protection" start="12" size="1" />
      <BitField name="Page13_WP" description="Write protection" start="13" size="1" />
      <BitField name="Page14_WP" description="Write protection" start="14" size="1" />
      <BitField name="Page15_WP" description="Write protection" start="15" size="1" />
      <BitField name="Page16_WP" description="Write protection" start="16" size="1" />
      <BitField name="Page17_WP" description="Write protection" start="17" size="1" />
      <BitField name="Page18_WP" description="Write protection" start="18" size="1" />
      <BitField name="Page19_WP" description="Write protection" start="19" size="1" />
      <BitField name="Page20_WP" description="Write protection" start="20" size="1" />
      <BitField name="Page21_WP" description="Write protection" start="21" size="1" />
      <BitField name="Page22_WP" description="Write protection" start="22" size="1" />
      <BitField name="Page23_WP" description="Write protection" start="23" size="1" />
      <BitField name="Page24_WP" description="Write protection" start="24" size="1" />
      <BitField name="Page25_WP" description="Write protection" start="25" size="1" />
      <BitField name="Page26_WP" description="Write protection" start="26" size="1" />
      <BitField name="Page27_WP" description="Write protection" start="27" size="1" />
      <BitField name="Page28_WP" description="Write protection" start="28" size="1" />
      <BitField name="Page29_WP" description="Write protection" start="29" size="1" />
      <BitField name="Page30_WP" description="Write protection" start="30" size="1" />
      <BitField name="Page31_WP" description="Write protection" start="31" size="1" />
    </Register>
    <Register name="SKR" description="SRAM2 Key Register" start="+0x24" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="KEY" description="SRAM2 Key for software erase" start="0" size="8" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="VREFBUF" description="Voltage reference buffer" start="0x40010030">
    <Register name="VREFBUF_CSR" description="VREF_BUF Control and Status Register" start="+0x0" size="4" reset_value="0x00000002" reset_mask="0xFFFFFFFF">
      <BitField name="ENVR" description="Enable Voltage Reference" start="0" size="1" access="Read/Write" />
      <BitField name="HIZ" description="High impedence mode for the VREF_BUF" start="1" size="1" access="Read/Write" />
      <BitField name="VRR" description="Voltage reference buffer ready" start="3" size="1" access="ReadOnly" />
      <BitField name="VRS" description="Voltage reference scale" start="4" size="2" access="Read/Write" />
    </Register>
    <Register name="VREFBUF_CCR" description="VREF_BUF Calibration Control Register" start="+0x04" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TRIM" description="Trimming code" start="0" size="6" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="COMP" description="Comparator control and status register" start="0x40010200">
    <Register name="COMP_C1CSR" description="Comparator control/status register" start="+0x0" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="EN" start="0" size="1" access="Read/Write" />
      <BitField name="COMP_DEGLITCH_EN" description="COMP_DEGLITCH_EN" start="1" size="1" access="Read/Write" />
      <BitField name="INMSEL" description="INMSEL" start="4" size="3" access="Read/Write" />
      <BitField name="INPSEL" description="INPSEL" start="8" size="1" access="Read/Write" />
      <BitField name="POL" description="POL" start="15" size="1" access="Read/Write" />
      <BitField name="HYST" description="HYST" start="16" size="3" access="Read/Write" />
      <BitField name="BLANKSEL" description="BLANKSEL" start="19" size="3" access="Read/Write" />
      <BitField name="BRGEN" description="BRGEN" start="22" size="1" access="Read/Write" />
      <BitField name="SCALEN" description="SCALEN" start="23" size="1" access="Read/Write" />
      <BitField name="VALUE" description="VALUE" start="30" size="1" access="ReadOnly" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" access="Read/Write" />
    </Register>
    <Register name="COMP_C2CSR" description="Comparator control/status register" start="+0x4" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="EN" start="0" size="1" access="Read/Write" />
      <BitField name="COMP_DEGLITCH_EN" description="COMP_DEGLITCH_EN" start="1" size="1" access="Read/Write" />
      <BitField name="INMSEL" description="INMSEL" start="4" size="3" access="Read/Write" />
      <BitField name="INPSEL" description="INPSEL" start="8" size="1" access="Read/Write" />
      <BitField name="POL" description="POL" start="15" size="1" access="Read/Write" />
      <BitField name="HYST" description="HYST" start="16" size="3" access="Read/Write" />
      <BitField name="BLANKSEL" description="BLANKSEL" start="19" size="3" access="Read/Write" />
      <BitField name="BRGEN" description="BRGEN" start="22" size="1" access="Read/Write" />
      <BitField name="SCALEN" description="SCALEN" start="23" size="1" access="Read/Write" />
      <BitField name="VALUE" description="VALUE" start="30" size="1" access="ReadOnly" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" access="Read/Write" />
    </Register>
    <Register name="COMP_C3CSR" description="Comparator control/status register" start="+0x8" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="EN" start="0" size="1" access="Read/Write" />
      <BitField name="COMP_DEGLITCH_EN" description="COMP_DEGLITCH_EN" start="1" size="1" access="Read/Write" />
      <BitField name="INMSEL" description="INMSEL" start="4" size="3" access="Read/Write" />
      <BitField name="INPSEL" description="INPSEL" start="8" size="1" access="Read/Write" />
      <BitField name="POL" description="POL" start="15" size="1" access="Read/Write" />
      <BitField name="HYST" description="HYST" start="16" size="3" access="Read/Write" />
      <BitField name="BLANKSEL" description="BLANKSEL" start="19" size="3" access="Read/Write" />
      <BitField name="BRGEN" description="BRGEN" start="22" size="1" access="Read/Write" />
      <BitField name="SCALEN" description="SCALEN" start="23" size="1" access="Read/Write" />
      <BitField name="VALUE" description="VALUE" start="30" size="1" access="ReadOnly" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" access="Read/Write" />
    </Register>
    <Register name="COMP_C4CSR" description="Comparator control/status register" start="+0x0C" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="EN" start="0" size="1" access="Read/Write" />
      <BitField name="COMP_DEGLITCH_EN" description="COMP_DEGLITCH_EN" start="1" size="1" access="Read/Write" />
      <BitField name="INMSEL" description="INMSEL" start="4" size="3" access="Read/Write" />
      <BitField name="INPSEL" description="INPSEL" start="8" size="1" access="Read/Write" />
      <BitField name="POL" description="POL" start="15" size="1" access="Read/Write" />
      <BitField name="HYST" description="HYST" start="16" size="3" access="Read/Write" />
      <BitField name="BLANKSEL" description="BLANKSEL" start="19" size="3" access="Read/Write" />
      <BitField name="BRGEN" description="BRGEN" start="22" size="1" access="Read/Write" />
      <BitField name="SCALEN" description="SCALEN" start="23" size="1" access="Read/Write" />
      <BitField name="VALUE" description="VALUE" start="30" size="1" access="ReadOnly" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" access="Read/Write" />
    </Register>
    <Register name="COMP_C5CSR" description="Comparator control/status register" start="+0x10" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="EN" start="0" size="1" access="Read/Write" />
      <BitField name="COMP_DEGLITCH_EN" description="COMP_DEGLITCH_EN" start="1" size="1" access="Read/Write" />
      <BitField name="INMSEL" description="INMSEL" start="4" size="3" access="Read/Write" />
      <BitField name="INPSEL" description="INPSEL" start="8" size="1" access="Read/Write" />
      <BitField name="POL" description="POL" start="15" size="1" access="Read/Write" />
      <BitField name="HYST" description="HYST" start="16" size="3" access="Read/Write" />
      <BitField name="BLANKSEL" description="BLANKSEL" start="19" size="3" access="Read/Write" />
      <BitField name="BRGEN" description="BRGEN" start="22" size="1" access="Read/Write" />
      <BitField name="SCALEN" description="SCALEN" start="23" size="1" access="Read/Write" />
      <BitField name="VALUE" description="VALUE" start="30" size="1" access="ReadOnly" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" access="Read/Write" />
    </Register>
    <Register name="COMP_C6CSR" description="Comparator control/status register" start="+0x14" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="EN" start="0" size="1" access="Read/Write" />
      <BitField name="COMP_DEGLITCH_EN" description="COMP_DEGLITCH_EN" start="1" size="1" access="Read/Write" />
      <BitField name="INMSEL" description="INMSEL" start="4" size="3" access="Read/Write" />
      <BitField name="INPSEL" description="INPSEL" start="8" size="1" access="Read/Write" />
      <BitField name="POL" description="POL" start="15" size="1" access="Read/Write" />
      <BitField name="HYST" description="HYST" start="16" size="3" access="Read/Write" />
      <BitField name="BLANKSEL" description="BLANKSEL" start="19" size="3" access="Read/Write" />
      <BitField name="BRGEN" description="BRGEN" start="22" size="1" access="Read/Write" />
      <BitField name="SCALEN" description="SCALEN" start="23" size="1" access="Read/Write" />
      <BitField name="VALUE" description="VALUE" start="30" size="1" access="ReadOnly" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" access="Read/Write" />
    </Register>
    <Register name="COMP_C7CSR" description="Comparator control/status register" start="+0x18" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN" description="EN" start="0" size="1" access="Read/Write" />
      <BitField name="COMP_DEGLITCH_EN" description="COMP_DEGLITCH_EN" start="1" size="1" access="Read/Write" />
      <BitField name="INMSEL" description="INMSEL" start="4" size="3" access="Read/Write" />
      <BitField name="INPSEL" description="INPSEL" start="8" size="1" access="Read/Write" />
      <BitField name="POL" description="POL" start="15" size="1" access="Read/Write" />
      <BitField name="HYST" description="HYST" start="16" size="3" access="Read/Write" />
      <BitField name="BLANKSEL" description="BLANKSEL" start="19" size="3" access="Read/Write" />
      <BitField name="BRGEN" description="BRGEN" start="22" size="1" access="Read/Write" />
      <BitField name="SCALEN" description="SCALEN" start="23" size="1" access="Read/Write" />
      <BitField name="VALUE" description="VALUE" start="30" size="1" access="ReadOnly" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" access="Read/Write" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="OPAMP" description="Operational amplifiers" start="0x40010300">
    <Register name="OPAMP1_CSR" description="OPAMP1 control/status register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OPAEN" description="Operational amplifier Enable" start="0" size="1" />
      <BitField name="FORCE_VP" description="FORCE_VP" start="1" size="1" />
      <BitField name="VP_SEL" description="VP_SEL" start="2" size="2" />
      <BitField name="USERTRIM" description="USERTRIM" start="4" size="1" />
      <BitField name="VM_SEL" description="VM_SEL" start="5" size="2" />
      <BitField name="OPAHSM" description="OPAHSM" start="7" size="1" />
      <BitField name="OPAINTOEN" description="OPAINTOEN" start="8" size="1" />
      <BitField name="CALON" description="CALON" start="11" size="1" />
      <BitField name="CALSEL" description="CALSEL" start="12" size="2" />
      <BitField name="PGA_GAIN" description="PGA_GAIN" start="14" size="5" />
      <BitField name="TRIMOFFSETP" description="TRIMOFFSETP" start="19" size="5" />
      <BitField name="TRIMOFFSETN" description="TRIMOFFSETN" start="24" size="5" />
      <BitField name="CALOUT" description="CALOUT" start="30" size="1" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" />
    </Register>
    <Register name="OPAMP2_CSR" description="OPAMP2 control/status register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OPAEN" description="Operational amplifier Enable" start="0" size="1" />
      <BitField name="FORCE_VP" description="FORCE_VP" start="1" size="1" />
      <BitField name="VP_SEL" description="VP_SEL" start="2" size="2" />
      <BitField name="USERTRIM" description="USERTRIM" start="4" size="1" />
      <BitField name="VM_SEL" description="VM_SEL" start="5" size="2" />
      <BitField name="OPAHSM" description="OPAHSM" start="7" size="1" />
      <BitField name="OPAINTOEN" description="OPAINTOEN" start="8" size="1" />
      <BitField name="CALON" description="CALON" start="11" size="1" />
      <BitField name="CALSEL" description="CALSEL" start="12" size="2" />
      <BitField name="PGA_GAIN" description="PGA_GAIN" start="14" size="5" />
      <BitField name="TRIMOFFSETP" description="TRIMOFFSETP" start="19" size="5" />
      <BitField name="TRIMOFFSETN" description="TRIMOFFSETN" start="24" size="5" />
      <BitField name="CALOUT" description="CALOUT" start="30" size="1" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" />
    </Register>
    <Register name="OPAMP3_CSR" description="OPAMP3 control/status register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OPAEN" description="Operational amplifier Enable" start="0" size="1" />
      <BitField name="FORCE_VP" description="FORCE_VP" start="1" size="1" />
      <BitField name="VP_SEL" description="VP_SEL" start="2" size="2" />
      <BitField name="USERTRIM" description="USERTRIM" start="4" size="1" />
      <BitField name="VM_SEL" description="VM_SEL" start="5" size="2" />
      <BitField name="OPAHSM" description="OPAHSM" start="7" size="1" />
      <BitField name="OPAINTOEN" description="OPAINTOEN" start="8" size="1" />
      <BitField name="CALON" description="CALON" start="11" size="1" />
      <BitField name="CALSEL" description="CALSEL" start="12" size="2" />
      <BitField name="PGA_GAIN" description="PGA_GAIN" start="14" size="5" />
      <BitField name="TRIMOFFSETP" description="TRIMOFFSETP" start="19" size="5" />
      <BitField name="TRIMOFFSETN" description="TRIMOFFSETN" start="24" size="5" />
      <BitField name="CALOUT" description="CALOUT" start="30" size="1" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" />
    </Register>
    <Register name="OPAMP4_CSR" description="OPAMP4 control/status register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OPAEN" description="Operational amplifier Enable" start="0" size="1" />
      <BitField name="FORCE_VP" description="FORCE_VP" start="1" size="1" />
      <BitField name="VP_SEL" description="VP_SEL" start="2" size="2" />
      <BitField name="USERTRIM" description="USERTRIM" start="4" size="1" />
      <BitField name="VM_SEL" description="VM_SEL" start="5" size="2" />
      <BitField name="OPAHSM" description="OPAHSM" start="7" size="1" />
      <BitField name="OPAINTOEN" description="OPAINTOEN" start="8" size="1" />
      <BitField name="CALON" description="CALON" start="11" size="1" />
      <BitField name="CALSEL" description="CALSEL" start="12" size="2" />
      <BitField name="PGA_GAIN" description="PGA_GAIN" start="14" size="5" />
      <BitField name="TRIMOFFSETP" description="TRIMOFFSETP" start="19" size="5" />
      <BitField name="TRIMOFFSETN" description="TRIMOFFSETN" start="24" size="5" />
      <BitField name="CALOUT" description="CALOUT" start="30" size="1" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" />
    </Register>
    <Register name="OPAMP5_CSR" description="OPAMP5 control/status register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OPAEN" description="Operational amplifier Enable" start="0" size="1" />
      <BitField name="FORCE_VP" description="FORCE_VP" start="1" size="1" />
      <BitField name="VP_SEL" description="VP_SEL" start="2" size="2" />
      <BitField name="USERTRIM" description="USERTRIM" start="4" size="1" />
      <BitField name="VM_SEL" description="VM_SEL" start="5" size="2" />
      <BitField name="OPAHSM" description="OPAHSM" start="7" size="1" />
      <BitField name="OPAINTOEN" description="OPAINTOEN" start="8" size="1" />
      <BitField name="CALON" description="CALON" start="11" size="1" />
      <BitField name="CALSEL" description="CALSEL" start="12" size="2" />
      <BitField name="PGA_GAIN" description="PGA_GAIN" start="14" size="5" />
      <BitField name="TRIMOFFSETP" description="TRIMOFFSETP" start="19" size="5" />
      <BitField name="TRIMOFFSETN" description="TRIMOFFSETN" start="24" size="5" />
      <BitField name="CALOUT" description="CALOUT" start="30" size="1" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" />
    </Register>
    <Register name="OPAMP6_CSR" description="OPAMP6 control/status register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OPAEN" description="Operational amplifier Enable" start="0" size="1" />
      <BitField name="FORCE_VP" description="FORCE_VP" start="1" size="1" />
      <BitField name="VP_SEL" description="VP_SEL" start="2" size="2" />
      <BitField name="USERTRIM" description="USERTRIM" start="4" size="1" />
      <BitField name="VM_SEL" description="VM_SEL" start="5" size="2" />
      <BitField name="OPAHSM" description="OPAHSM" start="7" size="1" />
      <BitField name="OPAINTOEN" description="OPAINTOEN" start="8" size="1" />
      <BitField name="CALON" description="CALON" start="11" size="1" />
      <BitField name="CALSEL" description="CALSEL" start="12" size="2" />
      <BitField name="PGA_GAIN" description="PGA_GAIN" start="14" size="5" />
      <BitField name="TRIMOFFSETP" description="TRIMOFFSETP" start="19" size="5" />
      <BitField name="TRIMOFFSETN" description="TRIMOFFSETN" start="24" size="5" />
      <BitField name="CALOUT" description="CALOUT" start="30" size="1" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" />
    </Register>
    <Register name="OPAMP1_TCMR" description="OPAMP1 control/status register" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="VMS_SEL" description="VMS_SEL" start="0" size="1" />
      <BitField name="VPS_SEL" description="VPS_SEL" start="1" size="2" />
      <BitField name="T1CM_EN" description="T1CM_EN" start="3" size="1" />
      <BitField name="T8CM_EN" description="T8CM_EN" start="4" size="1" />
      <BitField name="T20CM_EN" description="T20CM_EN" start="5" size="1" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" />
    </Register>
    <Register name="OPAMP2_TCMR" description="OPAMP2 control/status register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="VMS_SEL" description="VMS_SEL" start="0" size="1" />
      <BitField name="VPS_SEL" description="VPS_SEL" start="1" size="2" />
      <BitField name="T1CM_EN" description="T1CM_EN" start="3" size="1" />
      <BitField name="T8CM_EN" description="T8CM_EN" start="4" size="1" />
      <BitField name="T20CM_EN" description="T20CM_EN" start="5" size="1" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" />
    </Register>
    <Register name="OPAMP3_TCMR" description="OPAMP3 control/status register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="VMS_SEL" description="VMS_SEL" start="0" size="1" />
      <BitField name="VPS_SEL" description="VPS_SEL" start="1" size="2" />
      <BitField name="T1CM_EN" description="T1CM_EN" start="3" size="1" />
      <BitField name="T8CM_EN" description="T8CM_EN" start="4" size="1" />
      <BitField name="T20CM_EN" description="T20CM_EN" start="5" size="1" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" />
    </Register>
    <Register name="OPAMP4_TCMR" description="OPAMP4 control/status register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="VMS_SEL" description="VMS_SEL" start="0" size="1" />
      <BitField name="VPS_SEL" description="VPS_SEL" start="1" size="2" />
      <BitField name="T1CM_EN" description="T1CM_EN" start="3" size="1" />
      <BitField name="T8CM_EN" description="T8CM_EN" start="4" size="1" />
      <BitField name="T20CM_EN" description="T20CM_EN" start="5" size="1" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" />
    </Register>
    <Register name="OPAMP5_TCMR" description="OPAMP5 control/status register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="VMS_SEL" description="VMS_SEL" start="0" size="1" />
      <BitField name="VPS_SEL" description="VPS_SEL" start="1" size="2" />
      <BitField name="T1CM_EN" description="T1CM_EN" start="3" size="1" />
      <BitField name="T8CM_EN" description="T8CM_EN" start="4" size="1" />
      <BitField name="T20CM_EN" description="T20CM_EN" start="5" size="1" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" />
    </Register>
    <Register name="OPAMP6_TCMR" description="OPAMP6 control/status register" start="+0x2C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="VMS_SEL" description="VMS_SEL" start="0" size="1" />
      <BitField name="VPS_SEL" description="VPS_SEL" start="1" size="2" />
      <BitField name="T1CM_EN" description="T1CM_EN" start="3" size="1" />
      <BitField name="T8CM_EN" description="T8CM_EN" start="4" size="1" />
      <BitField name="T20CM_EN" description="T20CM_EN" start="5" size="1" />
      <BitField name="LOCK" description="LOCK" start="31" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="QUADSPI" description="QuadSPI interface" start="0xA0001000">
    <Register name="CR" description="control register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PRESCALER" description="Clock prescaler" start="24" size="8" />
      <BitField name="PMM" description="Polling match mode" start="23" size="1" />
      <BitField name="APMS" description="Automatic poll mode stop" start="22" size="1" />
      <BitField name="TOIE" description="TimeOut interrupt enable" start="20" size="1" />
      <BitField name="SMIE" description="Status match interrupt enable" start="19" size="1" />
      <BitField name="FTIE" description="FIFO threshold interrupt enable" start="18" size="1" />
      <BitField name="TCIE" description="Transfer complete interrupt enable" start="17" size="1" />
      <BitField name="TEIE" description="Transfer error interrupt enable" start="16" size="1" />
      <BitField name="FTHRES" description="IFO threshold level" start="8" size="5" />
      <BitField name="FSEL" description="FSEL" start="7" size="1" />
      <BitField name="DFM" description="DFM" start="6" size="1" />
      <BitField name="SSHIFT" description="Sample shift" start="4" size="1" />
      <BitField name="TCEN" description="Timeout counter enable" start="3" size="1" />
      <BitField name="DMAEN" description="DMA enable" start="2" size="1" />
      <BitField name="ABORT" description="Abort request" start="1" size="1" />
      <BitField name="EN" description="Enable" start="0" size="1" />
    </Register>
    <Register name="DCR" description="device configuration register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="FSIZE" description="FLASH memory size" start="16" size="5" />
      <BitField name="CSHT" description="Chip select high time" start="8" size="3" />
      <BitField name="CKMODE" description="Mode 0 / mode 3" start="0" size="1" />
    </Register>
    <Register name="SR" description="status register" start="+0x8" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="FLEVEL" description="FIFO level" start="8" size="5" />
      <BitField name="BUSY" description="Busy" start="5" size="1" />
      <BitField name="TOF" description="Timeout flag" start="4" size="1" />
      <BitField name="SMF" description="Status match flag" start="3" size="1" />
      <BitField name="FTF" description="FIFO threshold flag" start="2" size="1" />
      <BitField name="TCF" description="Transfer complete flag" start="1" size="1" />
      <BitField name="TEF" description="Transfer error flag" start="0" size="1" />
    </Register>
    <Register name="FCR" description="flag clear register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CTOF" description="Clear timeout flag" start="4" size="1" />
      <BitField name="CSMF" description="Clear status match flag" start="3" size="1" />
      <BitField name="CTCF" description="Clear transfer complete flag" start="1" size="1" />
      <BitField name="CTEF" description="Clear transfer error flag" start="0" size="1" />
    </Register>
    <Register name="DLR" description="data length register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DL" description="Data length" start="0" size="32" />
    </Register>
    <Register name="CCR" description="communication configuration register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DDRM" description="Double data rate mode" start="31" size="1" />
      <BitField name="SIOO" description="Send instruction only once mode" start="28" size="1" />
      <BitField name="FMODE" description="Functional mode" start="26" size="2" />
      <BitField name="DMODE" description="Data mode" start="24" size="2" />
      <BitField name="DCYC" description="Number of dummy cycles" start="18" size="5" />
      <BitField name="ABSIZE" description="Alternate bytes size" start="16" size="2" />
      <BitField name="ABMODE" description="Alternate bytes mode" start="14" size="2" />
      <BitField name="ADSIZE" description="Address size" start="12" size="2" />
      <BitField name="ADMODE" description="Address mode" start="10" size="2" />
      <BitField name="IMODE" description="Instruction mode" start="8" size="2" />
      <BitField name="INSTRUCTION" description="Instruction" start="0" size="8" />
    </Register>
    <Register name="AR" description="address register" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ADDRESS" description="Address" start="0" size="32" />
    </Register>
    <Register name="ABR" description="ABR" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ALTERNATE" description="ALTERNATE" start="0" size="32" />
    </Register>
    <Register name="DR" description="data register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DATA" description="Data" start="0" size="32" />
    </Register>
    <Register name="PSMKR" description="polling status mask register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MASK" description="Status mask" start="0" size="32" />
    </Register>
    <Register name="PSMAR" description="polling status match register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MATCH" description="Status match" start="0" size="32" />
    </Register>
    <Register name="PIR" description="polling interval register" start="+0x2C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="INTERVAL" description="Polling interval" start="0" size="16" />
    </Register>
    <Register name="LPTR" description="low-power timeout register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TIMEOUT" description="Timeout period" start="0" size="16" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="DAC1" description="Digital-to-analog converter" start="0x50000800">
    <Register name="DAC_CR" description="DAC control register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN1" description="DAC channel1 enable This bit is set and cleared by software to enable/disable DAC channel1." start="0" size="1" />
      <BitField name="TEN1" description="DAC channel1 trigger enable" start="1" size="1" />
      <BitField name="TSEL1" description="DAC channel1 trigger selection These bits select the external event used to trigger DAC channel1. Note: Only used if bit TEN1 = 1 (DAC channel1 trigger enabled)." start="2" size="4" />
      <BitField name="WAVE1" description="DAC channel1 noise/triangle wave generation enable These bits are set and cleared by software. Note: Only used if bit TEN1 = 1 (DAC channel1 trigger enabled)." start="6" size="2" />
      <BitField name="MAMP1" description="DAC channel1 mask/amplitude selector These bits are written by software to select mask in wave generation mode or amplitude in triangle generation mode. = 1011: Unmask bits[11:0] of LFSR/ triangle amplitude equal to 4095" start="8" size="4" />
      <BitField name="DMAEN1" description="DAC channel1 DMA enable This bit is set and cleared by software." start="12" size="1" />
      <BitField name="DMAUDRIE1" description="DAC channel1 DMA Underrun Interrupt enable This bit is set and cleared by software." start="13" size="1" />
      <BitField name="CEN1" description="DAC Channel 1 calibration enable This bit is set and cleared by software to enable/disable DAC channel 1 calibration, it can be written only if bit EN1=0 into DAC_CR (the calibration mode can be entered/exit only when the DAC channel is disabled) Otherwise, the write operation is ignored." start="14" size="1" />
      <BitField name="EN2" description="DAC channel2 enable This bit is set and cleared by software to enable/disable DAC channel2." start="16" size="1" />
      <BitField name="TEN2" description="DAC channel2 trigger enable" start="17" size="1" />
      <BitField name="TSEL2" description="DAC channel2 trigger selection These bits select the external event used to trigger DAC channel2 Note: Only used if bit TEN2 = 1 (DAC channel2 trigger enabled)." start="18" size="4" />
      <BitField name="WAVE2" description="DAC channel2 noise/triangle wave generation enable These bits are set/reset by software. 1x: Triangle wave generation enabled Note: Only used if bit TEN2 = 1 (DAC channel2 trigger enabled)" start="22" size="2" />
      <BitField name="MAMP2" description="DAC channel2 mask/amplitude selector These bits are written by software to select mask in wave generation mode or amplitude in triangle generation mode. = 1011: Unmask bits[11:0] of LFSR/ triangle amplitude equal to 4095" start="24" size="4" />
      <BitField name="DMAEN2" description="DAC channel2 DMA enable This bit is set and cleared by software." start="28" size="1" />
      <BitField name="DMAUDRIE2" description="DAC channel2 DMA underrun interrupt enable This bit is set and cleared by software." start="29" size="1" />
      <BitField name="CEN2" description="DAC Channel 2 calibration enable This bit is set and cleared by software to enable/disable DAC channel 2 calibration, it can be written only if bit EN2=0 into DAC_CR (the calibration mode can be entered/exit only when the DAC channel is disabled) Otherwise, the write operation is ignored." start="30" size="1" />
    </Register>
    <Register name="DAC_SWTRGR" description="DAC software trigger register" start="+0x4" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SWTRIG1" description="DAC channel1 software trigger This bit is set by software to trigger the DAC in software trigger mode. Note: This bit is cleared by hardware (one APB1 clock cycle later) once the DAC_DHR1 register value has been loaded into the DAC_DOR1 register." start="0" size="1" />
      <BitField name="SWTRIG2" description="DAC channel2 software trigger This bit is set by software to trigger the DAC in software trigger mode. Note: This bit is cleared by hardware (one APB1 clock cycle later) once the DAC_DHR2 register value has been loaded into the DAC_DOR2 register." start="1" size="1" />
      <BitField name="SWTRIGB1" description="DAC channel1 software trigger B" start="16" size="1" />
      <BitField name="SWTRIGB2" description="DAC channel2 software trigger B" start="17" size="1" />
    </Register>
    <Register name="DAC_DHR12R1" description="DAC channel1 12-bit right-aligned data holding register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel1." start="0" size="12" />
      <BitField name="DACC1DHRB" description="DAC channel1 12-bit right-aligned data B" start="16" size="12" />
    </Register>
    <Register name="DAC_DHR12L1" description="DAC channel1 12-bit left aligned data holding register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 12-bit left-aligned data These bits are written by software which specifies 12-bit data for DAC channel1." start="4" size="12" />
      <BitField name="DACC1DHRB" description="DAC channel1 12-bit left-aligned data B" start="20" size="12" />
    </Register>
    <Register name="DAC_DHR8R1" description="DAC channel1 8-bit right aligned data holding register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel1." start="0" size="8" />
      <BitField name="DACC1DHRB" description="DAC channel1 8-bit right-aligned data" start="8" size="8" />
    </Register>
    <Register name="DAC_DHR12R2" description="DAC channel2 12-bit right aligned data holding register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC2DHR" description="DAC channel2 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel2." start="0" size="12" />
      <BitField name="DACC2DHRB" description="DAC channel2 12-bit right-aligned data" start="16" size="12" />
    </Register>
    <Register name="DAC_DHR12L2" description="DAC channel2 12-bit left aligned data holding register" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC2DHR" description="DAC channel2 12-bit left-aligned data These bits are written by software which specify 12-bit data for DAC channel2." start="4" size="12" />
      <BitField name="DACC2DHRB" description="DAC channel2 12-bit left-aligned data B" start="20" size="12" />
    </Register>
    <Register name="DAC_DHR8R2" description="DAC channel2 8-bit right-aligned data holding register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC2DHR" description="DAC channel2 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel2." start="0" size="8" />
      <BitField name="DACC2DHRB" description="DAC channel2 8-bit right-aligned data" start="8" size="8" />
    </Register>
    <Register name="DAC_DHR12RD" description="Dual DAC 12-bit right-aligned data holding register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel1." start="0" size="12" />
      <BitField name="DACC2DHR" description="DAC channel2 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel2." start="16" size="12" />
    </Register>
    <Register name="DAC_DHR12LD" description="DUAL DAC 12-bit left aligned data holding register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 12-bit left-aligned data These bits are written by software which specifies 12-bit data for DAC channel1." start="4" size="12" />
      <BitField name="DACC2DHR" description="DAC channel2 12-bit left-aligned data These bits are written by software which specifies 12-bit data for DAC channel2." start="20" size="12" />
    </Register>
    <Register name="DAC_DHR8RD" description="DUAL DAC 8-bit right aligned data holding register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel1." start="0" size="8" />
      <BitField name="DACC2DHR" description="DAC channel2 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel2." start="8" size="8" />
    </Register>
    <Register name="DAC_DOR1" description="DAC channel1 data output register" start="+0x2C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DOR" description="DAC channel1 data output These bits are read-only, they contain data output for DAC channel1." start="0" size="12" />
      <BitField name="DACC1DORB" description="DAC channel1 data output" start="16" size="12" />
    </Register>
    <Register name="DAC_DOR2" description="DAC channel2 data output register" start="+0x30" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC2DOR" description="DAC channel2 data output These bits are read-only, they contain data output for DAC channel2." start="0" size="12" />
      <BitField name="DACC2DORB" description="DAC channel2 data output" start="16" size="12" />
    </Register>
    <Register name="DAC_SR" description="DAC status register" start="+0x34" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DAC1RDY" description="DAC channel1 ready status bit" start="11" size="1" access="Read/Write" />
      <BitField name="DORSTAT1" description="DAC channel1 output register status bit" start="12" size="1" access="Read/Write" />
      <BitField name="DMAUDR1" description="DAC channel1 DMA underrun flag This bit is set by hardware and cleared by software (by writing it to 1)." start="13" size="1" access="Read/Write" />
      <BitField name="CAL_FLAG1" description="DAC Channel 1 calibration offset status This bit is set and cleared by hardware" start="14" size="1" access="ReadOnly" />
      <BitField name="BWST1" description="DAC Channel 1 busy writing sample time flag This bit is systematically set just after Sample &amp; Hold mode enable and is set each time the software writes the register DAC_SHSR1, It is cleared by hardware when the write operation of DAC_SHSR1 is complete. (It takes about 3LSI periods of synchronization)." start="15" size="1" access="ReadOnly" />
      <BitField name="DAC2RDY" description="DAC channel 2 ready status bit" start="27" size="1" access="Read/Write" />
      <BitField name="DORSTAT2" description="DAC channel 2 output register status bit" start="28" size="1" access="Read/Write" />
      <BitField name="DMAUDR2" description="DAC channel2 DMA underrun flag This bit is set by hardware and cleared by software (by writing it to 1)." start="29" size="1" access="Read/Write" />
      <BitField name="CAL_FLAG2" description="DAC Channel 2 calibration offset status This bit is set and cleared by hardware" start="30" size="1" access="ReadOnly" />
      <BitField name="BWST2" description="DAC Channel 2 busy writing sample time flag This bit is systematically set just after Sample &amp; Hold mode enable and is set each time the software writes the register DAC_SHSR2, It is cleared by hardware when the write operation of DAC_SHSR2 is complete. (It takes about 3 LSI periods of synchronization)." start="31" size="1" access="ReadOnly" />
    </Register>
    <Register name="DAC_CCR" description="DAC calibration control register" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OTRIM1" description="DAC Channel 1 offset trimming value" start="0" size="5" />
      <BitField name="OTRIM2" description="DAC Channel 2 offset trimming value" start="16" size="5" />
    </Register>
    <Register name="DAC_MCR" description="DAC mode control register" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MODE1" description="DAC Channel 1 mode These bits can be written only when the DAC is disabled and not in the calibration mode (when bit EN1=0 and bit CEN1 =0 in the DAC_CR register). If EN1=1 or CEN1 =1 the write operation is ignored. They can be set and cleared by software to select the DAC Channel 1 mode: DAC Channel 1 in normal Mode DAC Channel 1 in sample &amp;amp; hold mode" start="0" size="3" />
      <BitField name="DMADOUBLE1" description="DAC Channel1 DMA double data mode" start="8" size="1" />
      <BitField name="SINFORMAT1" description="Enable signed format for DAC channel1" start="9" size="1" />
      <BitField name="HFSEL" description="High frequency interface mode selection" start="14" size="2" />
      <BitField name="MODE2" description="DAC Channel 2 mode These bits can be written only when the DAC is disabled and not in the calibration mode (when bit EN2=0 and bit CEN2 =0 in the DAC_CR register). If EN2=1 or CEN2 =1 the write operation is ignored. They can be set and cleared by software to select the DAC Channel 2 mode: DAC Channel 2 in normal Mode DAC Channel 2 in sample &amp;amp; hold mode" start="16" size="3" />
      <BitField name="DMADOUBLE2" description="DAC Channel2 DMA double data mode" start="24" size="1" />
      <BitField name="SINFORMAT2" description="Enable signed format for DAC channel2" start="25" size="1" />
    </Register>
    <Register name="DAC_SHSR1" description="DAC Sample and Hold sample time register 1" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TSAMPLE1" description="DAC Channel 1 sample Time (only valid in sample &amp;amp; hold mode) These bits can be written when the DAC channel1 is disabled or also during normal operation. in the latter case, the write can be done only when BWSTx of DAC_SR register is low, If BWSTx=1, the write operation is ignored." start="0" size="10" />
    </Register>
    <Register name="DAC_SHSR2" description="DAC Sample and Hold sample time register 2" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TSAMPLE2" description="DAC Channel 2 sample Time (only valid in sample &amp;amp; hold mode) These bits can be written when the DAC channel2 is disabled or also during normal operation. in the latter case, the write can be done only when BWSTx of DAC_SR register is low, if BWSTx=1, the write operation is ignored." start="0" size="10" />
    </Register>
    <Register name="DAC_SHHR" description="DAC Sample and Hold hold time register" start="+0x48" size="4" access="Read/Write" reset_value="0x00010001" reset_mask="0xFFFFFFFF">
      <BitField name="THOLD1" description="DAC Channel 1 hold Time (only valid in sample &amp;amp; hold mode) Hold time= (THOLD[9:0]) x T LSI" start="0" size="10" />
      <BitField name="THOLD2" description="DAC Channel 2 hold time (only valid in sample &amp;amp; hold mode). Hold time= (THOLD[9:0]) x T LSI" start="16" size="10" />
    </Register>
    <Register name="DAC_SHRR" description="DAC Sample and Hold refresh time register" start="+0x4C" size="4" access="Read/Write" reset_value="0x00010001" reset_mask="0xFFFFFFFF">
      <BitField name="TREFRESH1" description="DAC Channel 1 refresh Time (only valid in sample &amp;amp; hold mode) Refresh time= (TREFRESH[7:0]) x T LSI" start="0" size="8" />
      <BitField name="TREFRESH2" description="DAC Channel 2 refresh Time (only valid in sample &amp;amp; hold mode) Refresh time= (TREFRESH[7:0]) x T LSI" start="16" size="8" />
    </Register>
    <Register name="DAC_STR1" description="Sawtooth register" start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="STRSTDATA1" description="DAC Channel 1 Sawtooth reset value" start="0" size="12" />
      <BitField name="STDIR1" description="DAC Channel1 Sawtooth direction setting" start="12" size="1" />
      <BitField name="STINCDATA1" description="DAC CH1 Sawtooth increment value (12.4 bit format)" start="16" size="16" />
    </Register>
    <Register name="DAC_STR2" description="Sawtooth register" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="STRSTDATA2" description="DAC Channel 2 Sawtooth reset value" start="0" size="12" />
      <BitField name="STDIR2" description="DAC Channel2 Sawtooth direction setting" start="12" size="1" />
      <BitField name="STINCDATA2" description="DAC CH2 Sawtooth increment value (12.4 bit format)" start="16" size="16" />
    </Register>
    <Register name="DAC_STMODR" description="Sawtooth Mode register" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="STRSTTRIGSEL1" description="DAC Channel 1 Sawtooth Reset trigger selection" start="0" size="4" />
      <BitField name="STINCTRIGSEL1" description="DAC Channel 1 Sawtooth Increment trigger selection" start="8" size="4" />
      <BitField name="STRSTTRIGSEL2" description="DAC Channel 1 Sawtooth Reset trigger selection" start="16" size="4" />
      <BitField name="STINCTRIGSEL2" description="DAC Channel 2 Sawtooth Increment trigger selection" start="24" size="4" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="DAC2" description="Digital-to-analog converter" start="0x50000C00">
    <Register name="DAC_CR" description="DAC control register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN1" description="DAC channel1 enable This bit is set and cleared by software to enable/disable DAC channel1." start="0" size="1" />
      <BitField name="TEN1" description="DAC channel1 trigger enable" start="1" size="1" />
      <BitField name="TSEL1" description="DAC channel1 trigger selection These bits select the external event used to trigger DAC channel1. Note: Only used if bit TEN1 = 1 (DAC channel1 trigger enabled)." start="2" size="4" />
      <BitField name="WAVE1" description="DAC channel1 noise/triangle wave generation enable These bits are set and cleared by software. Note: Only used if bit TEN1 = 1 (DAC channel1 trigger enabled)." start="6" size="2" />
      <BitField name="MAMP1" description="DAC channel1 mask/amplitude selector These bits are written by software to select mask in wave generation mode or amplitude in triangle generation mode. = 1011: Unmask bits[11:0] of LFSR/ triangle amplitude equal to 4095" start="8" size="4" />
      <BitField name="DMAEN1" description="DAC channel1 DMA enable This bit is set and cleared by software." start="12" size="1" />
      <BitField name="DMAUDRIE1" description="DAC channel1 DMA Underrun Interrupt enable This bit is set and cleared by software." start="13" size="1" />
      <BitField name="CEN1" description="DAC Channel 1 calibration enable This bit is set and cleared by software to enable/disable DAC channel 1 calibration, it can be written only if bit EN1=0 into DAC_CR (the calibration mode can be entered/exit only when the DAC channel is disabled) Otherwise, the write operation is ignored." start="14" size="1" />
      <BitField name="EN2" description="DAC channel2 enable This bit is set and cleared by software to enable/disable DAC channel2." start="16" size="1" />
      <BitField name="TEN2" description="DAC channel2 trigger enable" start="17" size="1" />
      <BitField name="TSEL2" description="DAC channel2 trigger selection These bits select the external event used to trigger DAC channel2 Note: Only used if bit TEN2 = 1 (DAC channel2 trigger enabled)." start="18" size="4" />
      <BitField name="WAVE2" description="DAC channel2 noise/triangle wave generation enable These bits are set/reset by software. 1x: Triangle wave generation enabled Note: Only used if bit TEN2 = 1 (DAC channel2 trigger enabled)" start="22" size="2" />
      <BitField name="MAMP2" description="DAC channel2 mask/amplitude selector These bits are written by software to select mask in wave generation mode or amplitude in triangle generation mode. = 1011: Unmask bits[11:0] of LFSR/ triangle amplitude equal to 4095" start="24" size="4" />
      <BitField name="DMAEN2" description="DAC channel2 DMA enable This bit is set and cleared by software." start="28" size="1" />
      <BitField name="DMAUDRIE2" description="DAC channel2 DMA underrun interrupt enable This bit is set and cleared by software." start="29" size="1" />
      <BitField name="CEN2" description="DAC Channel 2 calibration enable This bit is set and cleared by software to enable/disable DAC channel 2 calibration, it can be written only if bit EN2=0 into DAC_CR (the calibration mode can be entered/exit only when the DAC channel is disabled) Otherwise, the write operation is ignored." start="30" size="1" />
    </Register>
    <Register name="DAC_SWTRGR" description="DAC software trigger register" start="+0x4" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SWTRIG1" description="DAC channel1 software trigger This bit is set by software to trigger the DAC in software trigger mode. Note: This bit is cleared by hardware (one APB1 clock cycle later) once the DAC_DHR1 register value has been loaded into the DAC_DOR1 register." start="0" size="1" />
      <BitField name="SWTRIG2" description="DAC channel2 software trigger This bit is set by software to trigger the DAC in software trigger mode. Note: This bit is cleared by hardware (one APB1 clock cycle later) once the DAC_DHR2 register value has been loaded into the DAC_DOR2 register." start="1" size="1" />
      <BitField name="SWTRIGB1" description="DAC channel1 software trigger B" start="16" size="1" />
      <BitField name="SWTRIGB2" description="DAC channel2 software trigger B" start="17" size="1" />
    </Register>
    <Register name="DAC_DHR12R1" description="DAC channel1 12-bit right-aligned data holding register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel1." start="0" size="12" />
      <BitField name="DACC1DHRB" description="DAC channel1 12-bit right-aligned data B" start="16" size="12" />
    </Register>
    <Register name="DAC_DHR12L1" description="DAC channel1 12-bit left aligned data holding register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 12-bit left-aligned data These bits are written by software which specifies 12-bit data for DAC channel1." start="4" size="12" />
      <BitField name="DACC1DHRB" description="DAC channel1 12-bit left-aligned data B" start="20" size="12" />
    </Register>
    <Register name="DAC_DHR8R1" description="DAC channel1 8-bit right aligned data holding register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel1." start="0" size="8" />
      <BitField name="DACC1DHRB" description="DAC channel1 8-bit right-aligned data" start="8" size="8" />
    </Register>
    <Register name="DAC_DHR12R2" description="DAC channel2 12-bit right aligned data holding register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC2DHR" description="DAC channel2 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel2." start="0" size="12" />
      <BitField name="DACC2DHRB" description="DAC channel2 12-bit right-aligned data" start="16" size="12" />
    </Register>
    <Register name="DAC_DHR12L2" description="DAC channel2 12-bit left aligned data holding register" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC2DHR" description="DAC channel2 12-bit left-aligned data These bits are written by software which specify 12-bit data for DAC channel2." start="4" size="12" />
      <BitField name="DACC2DHRB" description="DAC channel2 12-bit left-aligned data B" start="20" size="12" />
    </Register>
    <Register name="DAC_DHR8R2" description="DAC channel2 8-bit right-aligned data holding register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC2DHR" description="DAC channel2 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel2." start="0" size="8" />
      <BitField name="DACC2DHRB" description="DAC channel2 8-bit right-aligned data" start="8" size="8" />
    </Register>
    <Register name="DAC_DHR12RD" description="Dual DAC 12-bit right-aligned data holding register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel1." start="0" size="12" />
      <BitField name="DACC2DHR" description="DAC channel2 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel2." start="16" size="12" />
    </Register>
    <Register name="DAC_DHR12LD" description="DUAL DAC 12-bit left aligned data holding register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 12-bit left-aligned data These bits are written by software which specifies 12-bit data for DAC channel1." start="4" size="12" />
      <BitField name="DACC2DHR" description="DAC channel2 12-bit left-aligned data These bits are written by software which specifies 12-bit data for DAC channel2." start="20" size="12" />
    </Register>
    <Register name="DAC_DHR8RD" description="DUAL DAC 8-bit right aligned data holding register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel1." start="0" size="8" />
      <BitField name="DACC2DHR" description="DAC channel2 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel2." start="8" size="8" />
    </Register>
    <Register name="DAC_DOR1" description="DAC channel1 data output register" start="+0x2C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DOR" description="DAC channel1 data output These bits are read-only, they contain data output for DAC channel1." start="0" size="12" />
      <BitField name="DACC1DORB" description="DAC channel1 data output" start="16" size="12" />
    </Register>
    <Register name="DAC_DOR2" description="DAC channel2 data output register" start="+0x30" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC2DOR" description="DAC channel2 data output These bits are read-only, they contain data output for DAC channel2." start="0" size="12" />
      <BitField name="DACC2DORB" description="DAC channel2 data output" start="16" size="12" />
    </Register>
    <Register name="DAC_SR" description="DAC status register" start="+0x34" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DAC1RDY" description="DAC channel1 ready status bit" start="11" size="1" access="Read/Write" />
      <BitField name="DORSTAT1" description="DAC channel1 output register status bit" start="12" size="1" access="Read/Write" />
      <BitField name="DMAUDR1" description="DAC channel1 DMA underrun flag This bit is set by hardware and cleared by software (by writing it to 1)." start="13" size="1" access="Read/Write" />
      <BitField name="CAL_FLAG1" description="DAC Channel 1 calibration offset status This bit is set and cleared by hardware" start="14" size="1" access="ReadOnly" />
      <BitField name="BWST1" description="DAC Channel 1 busy writing sample time flag This bit is systematically set just after Sample &amp; Hold mode enable and is set each time the software writes the register DAC_SHSR1, It is cleared by hardware when the write operation of DAC_SHSR1 is complete. (It takes about 3LSI periods of synchronization)." start="15" size="1" access="ReadOnly" />
      <BitField name="DAC2RDY" description="DAC channel 2 ready status bit" start="27" size="1" access="Read/Write" />
      <BitField name="DORSTAT2" description="DAC channel 2 output register status bit" start="28" size="1" access="Read/Write" />
      <BitField name="DMAUDR2" description="DAC channel2 DMA underrun flag This bit is set by hardware and cleared by software (by writing it to 1)." start="29" size="1" access="Read/Write" />
      <BitField name="CAL_FLAG2" description="DAC Channel 2 calibration offset status This bit is set and cleared by hardware" start="30" size="1" access="ReadOnly" />
      <BitField name="BWST2" description="DAC Channel 2 busy writing sample time flag This bit is systematically set just after Sample &amp; Hold mode enable and is set each time the software writes the register DAC_SHSR2, It is cleared by hardware when the write operation of DAC_SHSR2 is complete. (It takes about 3 LSI periods of synchronization)." start="31" size="1" access="ReadOnly" />
    </Register>
    <Register name="DAC_CCR" description="DAC calibration control register" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OTRIM1" description="DAC Channel 1 offset trimming value" start="0" size="5" />
      <BitField name="OTRIM2" description="DAC Channel 2 offset trimming value" start="16" size="5" />
    </Register>
    <Register name="DAC_MCR" description="DAC mode control register" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MODE1" description="DAC Channel 1 mode These bits can be written only when the DAC is disabled and not in the calibration mode (when bit EN1=0 and bit CEN1 =0 in the DAC_CR register). If EN1=1 or CEN1 =1 the write operation is ignored. They can be set and cleared by software to select the DAC Channel 1 mode: DAC Channel 1 in normal Mode DAC Channel 1 in sample &amp;amp; hold mode" start="0" size="3" />
      <BitField name="DMADOUBLE1" description="DAC Channel1 DMA double data mode" start="8" size="1" />
      <BitField name="SINFORMAT1" description="Enable signed format for DAC channel1" start="9" size="1" />
      <BitField name="HFSEL" description="High frequency interface mode selection" start="14" size="2" />
      <BitField name="MODE2" description="DAC Channel 2 mode These bits can be written only when the DAC is disabled and not in the calibration mode (when bit EN2=0 and bit CEN2 =0 in the DAC_CR register). If EN2=1 or CEN2 =1 the write operation is ignored. They can be set and cleared by software to select the DAC Channel 2 mode: DAC Channel 2 in normal Mode DAC Channel 2 in sample &amp;amp; hold mode" start="16" size="3" />
      <BitField name="DMADOUBLE2" description="DAC Channel2 DMA double data mode" start="24" size="1" />
      <BitField name="SINFORMAT2" description="Enable signed format for DAC channel2" start="25" size="1" />
    </Register>
    <Register name="DAC_SHSR1" description="DAC Sample and Hold sample time register 1" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TSAMPLE1" description="DAC Channel 1 sample Time (only valid in sample &amp;amp; hold mode) These bits can be written when the DAC channel1 is disabled or also during normal operation. in the latter case, the write can be done only when BWSTx of DAC_SR register is low, If BWSTx=1, the write operation is ignored." start="0" size="10" />
    </Register>
    <Register name="DAC_SHSR2" description="DAC Sample and Hold sample time register 2" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TSAMPLE2" description="DAC Channel 2 sample Time (only valid in sample &amp;amp; hold mode) These bits can be written when the DAC channel2 is disabled or also during normal operation. in the latter case, the write can be done only when BWSTx of DAC_SR register is low, if BWSTx=1, the write operation is ignored." start="0" size="10" />
    </Register>
    <Register name="DAC_SHHR" description="DAC Sample and Hold hold time register" start="+0x48" size="4" access="Read/Write" reset_value="0x00010001" reset_mask="0xFFFFFFFF">
      <BitField name="THOLD1" description="DAC Channel 1 hold Time (only valid in sample &amp;amp; hold mode) Hold time= (THOLD[9:0]) x T LSI" start="0" size="10" />
      <BitField name="THOLD2" description="DAC Channel 2 hold time (only valid in sample &amp;amp; hold mode). Hold time= (THOLD[9:0]) x T LSI" start="16" size="10" />
    </Register>
    <Register name="DAC_SHRR" description="DAC Sample and Hold refresh time register" start="+0x4C" size="4" access="Read/Write" reset_value="0x00010001" reset_mask="0xFFFFFFFF">
      <BitField name="TREFRESH1" description="DAC Channel 1 refresh Time (only valid in sample &amp;amp; hold mode) Refresh time= (TREFRESH[7:0]) x T LSI" start="0" size="8" />
      <BitField name="TREFRESH2" description="DAC Channel 2 refresh Time (only valid in sample &amp;amp; hold mode) Refresh time= (TREFRESH[7:0]) x T LSI" start="16" size="8" />
    </Register>
    <Register name="DAC_STR1" description="Sawtooth register" start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="STRSTDATA1" description="DAC Channel 1 Sawtooth reset value" start="0" size="12" />
      <BitField name="STDIR1" description="DAC Channel1 Sawtooth direction setting" start="12" size="1" />
      <BitField name="STINCDATA1" description="DAC CH1 Sawtooth increment value (12.4 bit format)" start="16" size="16" />
    </Register>
    <Register name="DAC_STR2" description="Sawtooth register" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="STRSTDATA2" description="DAC Channel 2 Sawtooth reset value" start="0" size="12" />
      <BitField name="STDIR2" description="DAC Channel2 Sawtooth direction setting" start="12" size="1" />
      <BitField name="STINCDATA2" description="DAC CH2 Sawtooth increment value (12.4 bit format)" start="16" size="16" />
    </Register>
    <Register name="DAC_STMODR" description="Sawtooth Mode register" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="STRSTTRIGSEL1" description="DAC Channel 1 Sawtooth Reset trigger selection" start="0" size="4" />
      <BitField name="STINCTRIGSEL1" description="DAC Channel 1 Sawtooth Increment trigger selection" start="8" size="4" />
      <BitField name="STRSTTRIGSEL2" description="DAC Channel 1 Sawtooth Reset trigger selection" start="16" size="4" />
      <BitField name="STINCTRIGSEL2" description="DAC Channel 2 Sawtooth Increment trigger selection" start="24" size="4" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="DAC3" description="Digital-to-analog converter" start="0x50001000">
    <Register name="DAC_CR" description="DAC control register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN1" description="DAC channel1 enable This bit is set and cleared by software to enable/disable DAC channel1." start="0" size="1" />
      <BitField name="TEN1" description="DAC channel1 trigger enable" start="1" size="1" />
      <BitField name="TSEL1" description="DAC channel1 trigger selection These bits select the external event used to trigger DAC channel1. Note: Only used if bit TEN1 = 1 (DAC channel1 trigger enabled)." start="2" size="4" />
      <BitField name="WAVE1" description="DAC channel1 noise/triangle wave generation enable These bits are set and cleared by software. Note: Only used if bit TEN1 = 1 (DAC channel1 trigger enabled)." start="6" size="2" />
      <BitField name="MAMP1" description="DAC channel1 mask/amplitude selector These bits are written by software to select mask in wave generation mode or amplitude in triangle generation mode. = 1011: Unmask bits[11:0] of LFSR/ triangle amplitude equal to 4095" start="8" size="4" />
      <BitField name="DMAEN1" description="DAC channel1 DMA enable This bit is set and cleared by software." start="12" size="1" />
      <BitField name="DMAUDRIE1" description="DAC channel1 DMA Underrun Interrupt enable This bit is set and cleared by software." start="13" size="1" />
      <BitField name="CEN1" description="DAC Channel 1 calibration enable This bit is set and cleared by software to enable/disable DAC channel 1 calibration, it can be written only if bit EN1=0 into DAC_CR (the calibration mode can be entered/exit only when the DAC channel is disabled) Otherwise, the write operation is ignored." start="14" size="1" />
      <BitField name="EN2" description="DAC channel2 enable This bit is set and cleared by software to enable/disable DAC channel2." start="16" size="1" />
      <BitField name="TEN2" description="DAC channel2 trigger enable" start="17" size="1" />
      <BitField name="TSEL2" description="DAC channel2 trigger selection These bits select the external event used to trigger DAC channel2 Note: Only used if bit TEN2 = 1 (DAC channel2 trigger enabled)." start="18" size="4" />
      <BitField name="WAVE2" description="DAC channel2 noise/triangle wave generation enable These bits are set/reset by software. 1x: Triangle wave generation enabled Note: Only used if bit TEN2 = 1 (DAC channel2 trigger enabled)" start="22" size="2" />
      <BitField name="MAMP2" description="DAC channel2 mask/amplitude selector These bits are written by software to select mask in wave generation mode or amplitude in triangle generation mode. = 1011: Unmask bits[11:0] of LFSR/ triangle amplitude equal to 4095" start="24" size="4" />
      <BitField name="DMAEN2" description="DAC channel2 DMA enable This bit is set and cleared by software." start="28" size="1" />
      <BitField name="DMAUDRIE2" description="DAC channel2 DMA underrun interrupt enable This bit is set and cleared by software." start="29" size="1" />
      <BitField name="CEN2" description="DAC Channel 2 calibration enable This bit is set and cleared by software to enable/disable DAC channel 2 calibration, it can be written only if bit EN2=0 into DAC_CR (the calibration mode can be entered/exit only when the DAC channel is disabled) Otherwise, the write operation is ignored." start="30" size="1" />
    </Register>
    <Register name="DAC_SWTRGR" description="DAC software trigger register" start="+0x4" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SWTRIG1" description="DAC channel1 software trigger This bit is set by software to trigger the DAC in software trigger mode. Note: This bit is cleared by hardware (one APB1 clock cycle later) once the DAC_DHR1 register value has been loaded into the DAC_DOR1 register." start="0" size="1" />
      <BitField name="SWTRIG2" description="DAC channel2 software trigger This bit is set by software to trigger the DAC in software trigger mode. Note: This bit is cleared by hardware (one APB1 clock cycle later) once the DAC_DHR2 register value has been loaded into the DAC_DOR2 register." start="1" size="1" />
      <BitField name="SWTRIGB1" description="DAC channel1 software trigger B" start="16" size="1" />
      <BitField name="SWTRIGB2" description="DAC channel2 software trigger B" start="17" size="1" />
    </Register>
    <Register name="DAC_DHR12R1" description="DAC channel1 12-bit right-aligned data holding register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel1." start="0" size="12" />
      <BitField name="DACC1DHRB" description="DAC channel1 12-bit right-aligned data B" start="16" size="12" />
    </Register>
    <Register name="DAC_DHR12L1" description="DAC channel1 12-bit left aligned data holding register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 12-bit left-aligned data These bits are written by software which specifies 12-bit data for DAC channel1." start="4" size="12" />
      <BitField name="DACC1DHRB" description="DAC channel1 12-bit left-aligned data B" start="20" size="12" />
    </Register>
    <Register name="DAC_DHR8R1" description="DAC channel1 8-bit right aligned data holding register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel1." start="0" size="8" />
      <BitField name="DACC1DHRB" description="DAC channel1 8-bit right-aligned data" start="8" size="8" />
    </Register>
    <Register name="DAC_DHR12R2" description="DAC channel2 12-bit right aligned data holding register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC2DHR" description="DAC channel2 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel2." start="0" size="12" />
      <BitField name="DACC2DHRB" description="DAC channel2 12-bit right-aligned data" start="16" size="12" />
    </Register>
    <Register name="DAC_DHR12L2" description="DAC channel2 12-bit left aligned data holding register" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC2DHR" description="DAC channel2 12-bit left-aligned data These bits are written by software which specify 12-bit data for DAC channel2." start="4" size="12" />
      <BitField name="DACC2DHRB" description="DAC channel2 12-bit left-aligned data B" start="20" size="12" />
    </Register>
    <Register name="DAC_DHR8R2" description="DAC channel2 8-bit right-aligned data holding register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC2DHR" description="DAC channel2 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel2." start="0" size="8" />
      <BitField name="DACC2DHRB" description="DAC channel2 8-bit right-aligned data" start="8" size="8" />
    </Register>
    <Register name="DAC_DHR12RD" description="Dual DAC 12-bit right-aligned data holding register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel1." start="0" size="12" />
      <BitField name="DACC2DHR" description="DAC channel2 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel2." start="16" size="12" />
    </Register>
    <Register name="DAC_DHR12LD" description="DUAL DAC 12-bit left aligned data holding register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 12-bit left-aligned data These bits are written by software which specifies 12-bit data for DAC channel1." start="4" size="12" />
      <BitField name="DACC2DHR" description="DAC channel2 12-bit left-aligned data These bits are written by software which specifies 12-bit data for DAC channel2." start="20" size="12" />
    </Register>
    <Register name="DAC_DHR8RD" description="DUAL DAC 8-bit right aligned data holding register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel1." start="0" size="8" />
      <BitField name="DACC2DHR" description="DAC channel2 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel2." start="8" size="8" />
    </Register>
    <Register name="DAC_DOR1" description="DAC channel1 data output register" start="+0x2C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DOR" description="DAC channel1 data output These bits are read-only, they contain data output for DAC channel1." start="0" size="12" />
      <BitField name="DACC1DORB" description="DAC channel1 data output" start="16" size="12" />
    </Register>
    <Register name="DAC_DOR2" description="DAC channel2 data output register" start="+0x30" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC2DOR" description="DAC channel2 data output These bits are read-only, they contain data output for DAC channel2." start="0" size="12" />
      <BitField name="DACC2DORB" description="DAC channel2 data output" start="16" size="12" />
    </Register>
    <Register name="DAC_SR" description="DAC status register" start="+0x34" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DAC1RDY" description="DAC channel1 ready status bit" start="11" size="1" access="Read/Write" />
      <BitField name="DORSTAT1" description="DAC channel1 output register status bit" start="12" size="1" access="Read/Write" />
      <BitField name="DMAUDR1" description="DAC channel1 DMA underrun flag This bit is set by hardware and cleared by software (by writing it to 1)." start="13" size="1" access="Read/Write" />
      <BitField name="CAL_FLAG1" description="DAC Channel 1 calibration offset status This bit is set and cleared by hardware" start="14" size="1" access="ReadOnly" />
      <BitField name="BWST1" description="DAC Channel 1 busy writing sample time flag This bit is systematically set just after Sample &amp; Hold mode enable and is set each time the software writes the register DAC_SHSR1, It is cleared by hardware when the write operation of DAC_SHSR1 is complete. (It takes about 3LSI periods of synchronization)." start="15" size="1" access="ReadOnly" />
      <BitField name="DAC2RDY" description="DAC channel 2 ready status bit" start="27" size="1" access="Read/Write" />
      <BitField name="DORSTAT2" description="DAC channel 2 output register status bit" start="28" size="1" access="Read/Write" />
      <BitField name="DMAUDR2" description="DAC channel2 DMA underrun flag This bit is set by hardware and cleared by software (by writing it to 1)." start="29" size="1" access="Read/Write" />
      <BitField name="CAL_FLAG2" description="DAC Channel 2 calibration offset status This bit is set and cleared by hardware" start="30" size="1" access="ReadOnly" />
      <BitField name="BWST2" description="DAC Channel 2 busy writing sample time flag This bit is systematically set just after Sample &amp; Hold mode enable and is set each time the software writes the register DAC_SHSR2, It is cleared by hardware when the write operation of DAC_SHSR2 is complete. (It takes about 3 LSI periods of synchronization)." start="31" size="1" access="ReadOnly" />
    </Register>
    <Register name="DAC_CCR" description="DAC calibration control register" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OTRIM1" description="DAC Channel 1 offset trimming value" start="0" size="5" />
      <BitField name="OTRIM2" description="DAC Channel 2 offset trimming value" start="16" size="5" />
    </Register>
    <Register name="DAC_MCR" description="DAC mode control register" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MODE1" description="DAC Channel 1 mode These bits can be written only when the DAC is disabled and not in the calibration mode (when bit EN1=0 and bit CEN1 =0 in the DAC_CR register). If EN1=1 or CEN1 =1 the write operation is ignored. They can be set and cleared by software to select the DAC Channel 1 mode: DAC Channel 1 in normal Mode DAC Channel 1 in sample &amp;amp; hold mode" start="0" size="3" />
      <BitField name="DMADOUBLE1" description="DAC Channel1 DMA double data mode" start="8" size="1" />
      <BitField name="SINFORMAT1" description="Enable signed format for DAC channel1" start="9" size="1" />
      <BitField name="HFSEL" description="High frequency interface mode selection" start="14" size="2" />
      <BitField name="MODE2" description="DAC Channel 2 mode These bits can be written only when the DAC is disabled and not in the calibration mode (when bit EN2=0 and bit CEN2 =0 in the DAC_CR register). If EN2=1 or CEN2 =1 the write operation is ignored. They can be set and cleared by software to select the DAC Channel 2 mode: DAC Channel 2 in normal Mode DAC Channel 2 in sample &amp;amp; hold mode" start="16" size="3" />
      <BitField name="DMADOUBLE2" description="DAC Channel2 DMA double data mode" start="24" size="1" />
      <BitField name="SINFORMAT2" description="Enable signed format for DAC channel2" start="25" size="1" />
    </Register>
    <Register name="DAC_SHSR1" description="DAC Sample and Hold sample time register 1" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TSAMPLE1" description="DAC Channel 1 sample Time (only valid in sample &amp;amp; hold mode) These bits can be written when the DAC channel1 is disabled or also during normal operation. in the latter case, the write can be done only when BWSTx of DAC_SR register is low, If BWSTx=1, the write operation is ignored." start="0" size="10" />
    </Register>
    <Register name="DAC_SHSR2" description="DAC Sample and Hold sample time register 2" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TSAMPLE2" description="DAC Channel 2 sample Time (only valid in sample &amp;amp; hold mode) These bits can be written when the DAC channel2 is disabled or also during normal operation. in the latter case, the write can be done only when BWSTx of DAC_SR register is low, if BWSTx=1, the write operation is ignored." start="0" size="10" />
    </Register>
    <Register name="DAC_SHHR" description="DAC Sample and Hold hold time register" start="+0x48" size="4" access="Read/Write" reset_value="0x00010001" reset_mask="0xFFFFFFFF">
      <BitField name="THOLD1" description="DAC Channel 1 hold Time (only valid in sample &amp;amp; hold mode) Hold time= (THOLD[9:0]) x T LSI" start="0" size="10" />
      <BitField name="THOLD2" description="DAC Channel 2 hold time (only valid in sample &amp;amp; hold mode). Hold time= (THOLD[9:0]) x T LSI" start="16" size="10" />
    </Register>
    <Register name="DAC_SHRR" description="DAC Sample and Hold refresh time register" start="+0x4C" size="4" access="Read/Write" reset_value="0x00010001" reset_mask="0xFFFFFFFF">
      <BitField name="TREFRESH1" description="DAC Channel 1 refresh Time (only valid in sample &amp;amp; hold mode) Refresh time= (TREFRESH[7:0]) x T LSI" start="0" size="8" />
      <BitField name="TREFRESH2" description="DAC Channel 2 refresh Time (only valid in sample &amp;amp; hold mode) Refresh time= (TREFRESH[7:0]) x T LSI" start="16" size="8" />
    </Register>
    <Register name="DAC_STR1" description="Sawtooth register" start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="STRSTDATA1" description="DAC Channel 1 Sawtooth reset value" start="0" size="12" />
      <BitField name="STDIR1" description="DAC Channel1 Sawtooth direction setting" start="12" size="1" />
      <BitField name="STINCDATA1" description="DAC CH1 Sawtooth increment value (12.4 bit format)" start="16" size="16" />
    </Register>
    <Register name="DAC_STR2" description="Sawtooth register" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="STRSTDATA2" description="DAC Channel 2 Sawtooth reset value" start="0" size="12" />
      <BitField name="STDIR2" description="DAC Channel2 Sawtooth direction setting" start="12" size="1" />
      <BitField name="STINCDATA2" description="DAC CH2 Sawtooth increment value (12.4 bit format)" start="16" size="16" />
    </Register>
    <Register name="DAC_STMODR" description="Sawtooth Mode register" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="STRSTTRIGSEL1" description="DAC Channel 1 Sawtooth Reset trigger selection" start="0" size="4" />
      <BitField name="STINCTRIGSEL1" description="DAC Channel 1 Sawtooth Increment trigger selection" start="8" size="4" />
      <BitField name="STRSTTRIGSEL2" description="DAC Channel 1 Sawtooth Reset trigger selection" start="16" size="4" />
      <BitField name="STINCTRIGSEL2" description="DAC Channel 2 Sawtooth Increment trigger selection" start="24" size="4" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="DAC4" description="Digital-to-analog converter" start="0x50001400">
    <Register name="DAC_CR" description="DAC control register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EN1" description="DAC channel1 enable This bit is set and cleared by software to enable/disable DAC channel1." start="0" size="1" />
      <BitField name="TEN1" description="DAC channel1 trigger enable" start="1" size="1" />
      <BitField name="TSEL1" description="DAC channel1 trigger selection These bits select the external event used to trigger DAC channel1. Note: Only used if bit TEN1 = 1 (DAC channel1 trigger enabled)." start="2" size="4" />
      <BitField name="WAVE1" description="DAC channel1 noise/triangle wave generation enable These bits are set and cleared by software. Note: Only used if bit TEN1 = 1 (DAC channel1 trigger enabled)." start="6" size="2" />
      <BitField name="MAMP1" description="DAC channel1 mask/amplitude selector These bits are written by software to select mask in wave generation mode or amplitude in triangle generation mode. = 1011: Unmask bits[11:0] of LFSR/ triangle amplitude equal to 4095" start="8" size="4" />
      <BitField name="DMAEN1" description="DAC channel1 DMA enable This bit is set and cleared by software." start="12" size="1" />
      <BitField name="DMAUDRIE1" description="DAC channel1 DMA Underrun Interrupt enable This bit is set and cleared by software." start="13" size="1" />
      <BitField name="CEN1" description="DAC Channel 1 calibration enable This bit is set and cleared by software to enable/disable DAC channel 1 calibration, it can be written only if bit EN1=0 into DAC_CR (the calibration mode can be entered/exit only when the DAC channel is disabled) Otherwise, the write operation is ignored." start="14" size="1" />
      <BitField name="EN2" description="DAC channel2 enable This bit is set and cleared by software to enable/disable DAC channel2." start="16" size="1" />
      <BitField name="TEN2" description="DAC channel2 trigger enable" start="17" size="1" />
      <BitField name="TSEL2" description="DAC channel2 trigger selection These bits select the external event used to trigger DAC channel2 Note: Only used if bit TEN2 = 1 (DAC channel2 trigger enabled)." start="18" size="4" />
      <BitField name="WAVE2" description="DAC channel2 noise/triangle wave generation enable These bits are set/reset by software. 1x: Triangle wave generation enabled Note: Only used if bit TEN2 = 1 (DAC channel2 trigger enabled)" start="22" size="2" />
      <BitField name="MAMP2" description="DAC channel2 mask/amplitude selector These bits are written by software to select mask in wave generation mode or amplitude in triangle generation mode. = 1011: Unmask bits[11:0] of LFSR/ triangle amplitude equal to 4095" start="24" size="4" />
      <BitField name="DMAEN2" description="DAC channel2 DMA enable This bit is set and cleared by software." start="28" size="1" />
      <BitField name="DMAUDRIE2" description="DAC channel2 DMA underrun interrupt enable This bit is set and cleared by software." start="29" size="1" />
      <BitField name="CEN2" description="DAC Channel 2 calibration enable This bit is set and cleared by software to enable/disable DAC channel 2 calibration, it can be written only if bit EN2=0 into DAC_CR (the calibration mode can be entered/exit only when the DAC channel is disabled) Otherwise, the write operation is ignored." start="30" size="1" />
    </Register>
    <Register name="DAC_SWTRGR" description="DAC software trigger register" start="+0x4" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SWTRIG1" description="DAC channel1 software trigger This bit is set by software to trigger the DAC in software trigger mode. Note: This bit is cleared by hardware (one APB1 clock cycle later) once the DAC_DHR1 register value has been loaded into the DAC_DOR1 register." start="0" size="1" />
      <BitField name="SWTRIG2" description="DAC channel2 software trigger This bit is set by software to trigger the DAC in software trigger mode. Note: This bit is cleared by hardware (one APB1 clock cycle later) once the DAC_DHR2 register value has been loaded into the DAC_DOR2 register." start="1" size="1" />
      <BitField name="SWTRIGB1" description="DAC channel1 software trigger B" start="16" size="1" />
      <BitField name="SWTRIGB2" description="DAC channel2 software trigger B" start="17" size="1" />
    </Register>
    <Register name="DAC_DHR12R1" description="DAC channel1 12-bit right-aligned data holding register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel1." start="0" size="12" />
      <BitField name="DACC1DHRB" description="DAC channel1 12-bit right-aligned data B" start="16" size="12" />
    </Register>
    <Register name="DAC_DHR12L1" description="DAC channel1 12-bit left aligned data holding register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 12-bit left-aligned data These bits are written by software which specifies 12-bit data for DAC channel1." start="4" size="12" />
      <BitField name="DACC1DHRB" description="DAC channel1 12-bit left-aligned data B" start="20" size="12" />
    </Register>
    <Register name="DAC_DHR8R1" description="DAC channel1 8-bit right aligned data holding register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel1." start="0" size="8" />
      <BitField name="DACC1DHRB" description="DAC channel1 8-bit right-aligned data" start="8" size="8" />
    </Register>
    <Register name="DAC_DHR12R2" description="DAC channel2 12-bit right aligned data holding register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC2DHR" description="DAC channel2 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel2." start="0" size="12" />
      <BitField name="DACC2DHRB" description="DAC channel2 12-bit right-aligned data" start="16" size="12" />
    </Register>
    <Register name="DAC_DHR12L2" description="DAC channel2 12-bit left aligned data holding register" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC2DHR" description="DAC channel2 12-bit left-aligned data These bits are written by software which specify 12-bit data for DAC channel2." start="4" size="12" />
      <BitField name="DACC2DHRB" description="DAC channel2 12-bit left-aligned data B" start="20" size="12" />
    </Register>
    <Register name="DAC_DHR8R2" description="DAC channel2 8-bit right-aligned data holding register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC2DHR" description="DAC channel2 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel2." start="0" size="8" />
      <BitField name="DACC2DHRB" description="DAC channel2 8-bit right-aligned data" start="8" size="8" />
    </Register>
    <Register name="DAC_DHR12RD" description="Dual DAC 12-bit right-aligned data holding register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel1." start="0" size="12" />
      <BitField name="DACC2DHR" description="DAC channel2 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel2." start="16" size="12" />
    </Register>
    <Register name="DAC_DHR12LD" description="DUAL DAC 12-bit left aligned data holding register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 12-bit left-aligned data These bits are written by software which specifies 12-bit data for DAC channel1." start="4" size="12" />
      <BitField name="DACC2DHR" description="DAC channel2 12-bit left-aligned data These bits are written by software which specifies 12-bit data for DAC channel2." start="20" size="12" />
    </Register>
    <Register name="DAC_DHR8RD" description="DUAL DAC 8-bit right aligned data holding register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DHR" description="DAC channel1 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel1." start="0" size="8" />
      <BitField name="DACC2DHR" description="DAC channel2 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel2." start="8" size="8" />
    </Register>
    <Register name="DAC_DOR1" description="DAC channel1 data output register" start="+0x2C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC1DOR" description="DAC channel1 data output These bits are read-only, they contain data output for DAC channel1." start="0" size="12" />
      <BitField name="DACC1DORB" description="DAC channel1 data output" start="16" size="12" />
    </Register>
    <Register name="DAC_DOR2" description="DAC channel2 data output register" start="+0x30" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DACC2DOR" description="DAC channel2 data output These bits are read-only, they contain data output for DAC channel2." start="0" size="12" />
      <BitField name="DACC2DORB" description="DAC channel2 data output" start="16" size="12" />
    </Register>
    <Register name="DAC_SR" description="DAC status register" start="+0x34" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DAC1RDY" description="DAC channel1 ready status bit" start="11" size="1" access="Read/Write" />
      <BitField name="DORSTAT1" description="DAC channel1 output register status bit" start="12" size="1" access="Read/Write" />
      <BitField name="DMAUDR1" description="DAC channel1 DMA underrun flag This bit is set by hardware and cleared by software (by writing it to 1)." start="13" size="1" access="Read/Write" />
      <BitField name="CAL_FLAG1" description="DAC Channel 1 calibration offset status This bit is set and cleared by hardware" start="14" size="1" access="ReadOnly" />
      <BitField name="BWST1" description="DAC Channel 1 busy writing sample time flag This bit is systematically set just after Sample &amp; Hold mode enable and is set each time the software writes the register DAC_SHSR1, It is cleared by hardware when the write operation of DAC_SHSR1 is complete. (It takes about 3LSI periods of synchronization)." start="15" size="1" access="ReadOnly" />
      <BitField name="DAC2RDY" description="DAC channel 2 ready status bit" start="27" size="1" access="Read/Write" />
      <BitField name="DORSTAT2" description="DAC channel 2 output register status bit" start="28" size="1" access="Read/Write" />
      <BitField name="DMAUDR2" description="DAC channel2 DMA underrun flag This bit is set by hardware and cleared by software (by writing it to 1)." start="29" size="1" access="Read/Write" />
      <BitField name="CAL_FLAG2" description="DAC Channel 2 calibration offset status This bit is set and cleared by hardware" start="30" size="1" access="ReadOnly" />
      <BitField name="BWST2" description="DAC Channel 2 busy writing sample time flag This bit is systematically set just after Sample &amp; Hold mode enable and is set each time the software writes the register DAC_SHSR2, It is cleared by hardware when the write operation of DAC_SHSR2 is complete. (It takes about 3 LSI periods of synchronization)." start="31" size="1" access="ReadOnly" />
    </Register>
    <Register name="DAC_CCR" description="DAC calibration control register" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OTRIM1" description="DAC Channel 1 offset trimming value" start="0" size="5" />
      <BitField name="OTRIM2" description="DAC Channel 2 offset trimming value" start="16" size="5" />
    </Register>
    <Register name="DAC_MCR" description="DAC mode control register" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MODE1" description="DAC Channel 1 mode These bits can be written only when the DAC is disabled and not in the calibration mode (when bit EN1=0 and bit CEN1 =0 in the DAC_CR register). If EN1=1 or CEN1 =1 the write operation is ignored. They can be set and cleared by software to select the DAC Channel 1 mode: DAC Channel 1 in normal Mode DAC Channel 1 in sample &amp;amp; hold mode" start="0" size="3" />
      <BitField name="DMADOUBLE1" description="DAC Channel1 DMA double data mode" start="8" size="1" />
      <BitField name="SINFORMAT1" description="Enable signed format for DAC channel1" start="9" size="1" />
      <BitField name="HFSEL" description="High frequency interface mode selection" start="14" size="2" />
      <BitField name="MODE2" description="DAC Channel 2 mode These bits can be written only when the DAC is disabled and not in the calibration mode (when bit EN2=0 and bit CEN2 =0 in the DAC_CR register). If EN2=1 or CEN2 =1 the write operation is ignored. They can be set and cleared by software to select the DAC Channel 2 mode: DAC Channel 2 in normal Mode DAC Channel 2 in sample &amp;amp; hold mode" start="16" size="3" />
      <BitField name="DMADOUBLE2" description="DAC Channel2 DMA double data mode" start="24" size="1" />
      <BitField name="SINFORMAT2" description="Enable signed format for DAC channel2" start="25" size="1" />
    </Register>
    <Register name="DAC_SHSR1" description="DAC Sample and Hold sample time register 1" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TSAMPLE1" description="DAC Channel 1 sample Time (only valid in sample &amp;amp; hold mode) These bits can be written when the DAC channel1 is disabled or also during normal operation. in the latter case, the write can be done only when BWSTx of DAC_SR register is low, If BWSTx=1, the write operation is ignored." start="0" size="10" />
    </Register>
    <Register name="DAC_SHSR2" description="DAC Sample and Hold sample time register 2" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TSAMPLE2" description="DAC Channel 2 sample Time (only valid in sample &amp;amp; hold mode) These bits can be written when the DAC channel2 is disabled or also during normal operation. in the latter case, the write can be done only when BWSTx of DAC_SR register is low, if BWSTx=1, the write operation is ignored." start="0" size="10" />
    </Register>
    <Register name="DAC_SHHR" description="DAC Sample and Hold hold time register" start="+0x48" size="4" access="Read/Write" reset_value="0x00010001" reset_mask="0xFFFFFFFF">
      <BitField name="THOLD1" description="DAC Channel 1 hold Time (only valid in sample &amp;amp; hold mode) Hold time= (THOLD[9:0]) x T LSI" start="0" size="10" />
      <BitField name="THOLD2" description="DAC Channel 2 hold time (only valid in sample &amp;amp; hold mode). Hold time= (THOLD[9:0]) x T LSI" start="16" size="10" />
    </Register>
    <Register name="DAC_SHRR" description="DAC Sample and Hold refresh time register" start="+0x4C" size="4" access="Read/Write" reset_value="0x00010001" reset_mask="0xFFFFFFFF">
      <BitField name="TREFRESH1" description="DAC Channel 1 refresh Time (only valid in sample &amp;amp; hold mode) Refresh time= (TREFRESH[7:0]) x T LSI" start="0" size="8" />
      <BitField name="TREFRESH2" description="DAC Channel 2 refresh Time (only valid in sample &amp;amp; hold mode) Refresh time= (TREFRESH[7:0]) x T LSI" start="16" size="8" />
    </Register>
    <Register name="DAC_STR1" description="Sawtooth register" start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="STRSTDATA1" description="DAC Channel 1 Sawtooth reset value" start="0" size="12" />
      <BitField name="STDIR1" description="DAC Channel1 Sawtooth direction setting" start="12" size="1" />
      <BitField name="STINCDATA1" description="DAC CH1 Sawtooth increment value (12.4 bit format)" start="16" size="16" />
    </Register>
    <Register name="DAC_STR2" description="Sawtooth register" start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="STRSTDATA2" description="DAC Channel 2 Sawtooth reset value" start="0" size="12" />
      <BitField name="STDIR2" description="DAC Channel2 Sawtooth direction setting" start="12" size="1" />
      <BitField name="STINCDATA2" description="DAC CH2 Sawtooth increment value (12.4 bit format)" start="16" size="16" />
    </Register>
    <Register name="DAC_STMODR" description="Sawtooth Mode register" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="STRSTTRIGSEL1" description="DAC Channel 1 Sawtooth Reset trigger selection" start="0" size="4" />
      <BitField name="STINCTRIGSEL1" description="DAC Channel 1 Sawtooth Increment trigger selection" start="8" size="4" />
      <BitField name="STRSTTRIGSEL2" description="DAC Channel 1 Sawtooth Reset trigger selection" start="16" size="4" />
      <BitField name="STINCTRIGSEL2" description="DAC Channel 2 Sawtooth Increment trigger selection" start="24" size="4" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="ADC1" description="Analog-to-Digital Converter" start="0x50000000">
    <Register name="ISR" description="interrupt and status register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JQOVF" description="JQOVF" start="10" size="1" />
      <BitField name="AWD3" description="AWD3" start="9" size="1" />
      <BitField name="AWD2" description="AWD2" start="8" size="1" />
      <BitField name="AWD1" description="AWD1" start="7" size="1" />
      <BitField name="JEOS" description="JEOS" start="6" size="1" />
      <BitField name="JEOC" description="JEOC" start="5" size="1" />
      <BitField name="OVR" description="OVR" start="4" size="1" />
      <BitField name="EOS" description="EOS" start="3" size="1" />
      <BitField name="EOC" description="EOC" start="2" size="1" />
      <BitField name="EOSMP" description="EOSMP" start="1" size="1" />
      <BitField name="ADRDY" description="ADRDY" start="0" size="1" />
    </Register>
    <Register name="IER" description="interrupt enable register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JQOVFIE" description="JQOVFIE" start="10" size="1" />
      <BitField name="AWD3IE" description="AWD3IE" start="9" size="1" />
      <BitField name="AWD2IE" description="AWD2IE" start="8" size="1" />
      <BitField name="AWD1IE" description="AWD1IE" start="7" size="1" />
      <BitField name="JEOSIE" description="JEOSIE" start="6" size="1" />
      <BitField name="JEOCIE" description="JEOCIE" start="5" size="1" />
      <BitField name="OVRIE" description="OVRIE" start="4" size="1" />
      <BitField name="EOSIE" description="EOSIE" start="3" size="1" />
      <BitField name="EOCIE" description="EOCIE" start="2" size="1" />
      <BitField name="EOSMPIE" description="EOSMPIE" start="1" size="1" />
      <BitField name="ADRDYIE" description="ADRDYIE" start="0" size="1" />
    </Register>
    <Register name="CR" description="control register" start="+0x8" size="4" access="Read/Write" reset_value="0x20000000" reset_mask="0xFFFFFFFF">
      <BitField name="ADCAL" description="ADCAL" start="31" size="1" />
      <BitField name="ADCALDIF" description="ADCALDIF" start="30" size="1" />
      <BitField name="DEEPPWD" description="DEEPPWD" start="29" size="1" />
      <BitField name="ADVREGEN" description="ADVREGEN" start="28" size="1" />
      <BitField name="JADSTP" description="JADSTP" start="5" size="1" />
      <BitField name="ADSTP" description="ADSTP" start="4" size="1" />
      <BitField name="JADSTART" description="JADSTART" start="3" size="1" />
      <BitField name="ADSTART" description="ADSTART" start="2" size="1" />
      <BitField name="ADDIS" description="ADDIS" start="1" size="1" />
      <BitField name="ADEN" description="ADEN" start="0" size="1" />
    </Register>
    <Register name="CFGR" description="configuration register" start="+0xC" size="4" access="Read/Write" reset_value="0x80000000" reset_mask="0xFFFFFFFF">
      <BitField name="JQDIS" description="Injected Queue disable" start="31" size="1" />
      <BitField name="AWD1CH" description="Analog watchdog 1 channel selection" start="26" size="5" />
      <BitField name="JAUTO" description="JAUTO" start="25" size="1" />
      <BitField name="JAWD1EN" description="JAWD1EN" start="24" size="1" />
      <BitField name="AWD1EN" description="AWD1EN" start="23" size="1" />
      <BitField name="AWD1SGL" description="AWD1SGL" start="22" size="1" />
      <BitField name="JQM" description="JQM" start="21" size="1" />
      <BitField name="JDISCEN" description="JDISCEN" start="20" size="1" />
      <BitField name="DISCNUM" description="DISCNUM" start="17" size="3" />
      <BitField name="DISCEN" description="DISCEN" start="16" size="1" />
      <BitField name="ALIGN" description="ALIGN" start="15" size="1" />
      <BitField name="AUTDLY" description="AUTDLY" start="14" size="1" />
      <BitField name="CONT" description="CONT" start="13" size="1" />
      <BitField name="OVRMOD" description="OVRMOD" start="12" size="1" />
      <BitField name="EXTEN" description="EXTEN" start="10" size="2" />
      <BitField name="EXTSEL" description="External trigger selection for regular group" start="5" size="5" />
      <BitField name="RES" description="RES" start="3" size="2" />
      <BitField name="DMACFG" description="DMACFG" start="1" size="1" />
      <BitField name="DMAEN" description="DMAEN" start="0" size="1" />
    </Register>
    <Register name="CFGR2" description="configuration register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMPTRIG" description="SMPTRIG" start="27" size="1" />
      <BitField name="BULB" description="BULB" start="26" size="1" />
      <BitField name="SWTRIG" description="SWTRIG" start="25" size="1" />
      <BitField name="GCOMP" description="GCOMP" start="16" size="1" />
      <BitField name="ROVSM" description="EXTEN" start="10" size="1" />
      <BitField name="TROVS" description="Triggered Regular Oversampling" start="9" size="1" />
      <BitField name="OVSS" description="ALIGN" start="5" size="4" />
      <BitField name="OVSR" description="RES" start="2" size="3" />
      <BitField name="JOVSE" description="DMACFG" start="1" size="1" />
      <BitField name="ROVSE" description="DMAEN" start="0" size="1" />
    </Register>
    <Register name="SMPR1" description="sample time register 1" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMP9" description="SMP9" start="27" size="3" />
      <BitField name="SMP8" description="SMP8" start="24" size="3" />
      <BitField name="SMP7" description="SMP7" start="21" size="3" />
      <BitField name="SMP6" description="SMP6" start="18" size="3" />
      <BitField name="SMP5" description="SMP5" start="15" size="3" />
      <BitField name="SMP4" description="SMP4" start="12" size="3" />
      <BitField name="SMP3" description="SMP3" start="9" size="3" />
      <BitField name="SMP2" description="SMP2" start="6" size="3" />
      <BitField name="SMP1" description="SMP1" start="3" size="3" />
      <BitField name="SMPPLUS" description="Addition of one clock cycle to the sampling time" start="31" size="1" />
      <BitField name="SMP0" description="SMP0" start="0" size="3" />
    </Register>
    <Register name="SMPR2" description="sample time register 2" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMP18" description="SMP18" start="24" size="3" />
      <BitField name="SMP17" description="SMP17" start="21" size="3" />
      <BitField name="SMP16" description="SMP16" start="18" size="3" />
      <BitField name="SMP15" description="SMP15" start="15" size="3" />
      <BitField name="SMP14" description="SMP14" start="12" size="3" />
      <BitField name="SMP13" description="SMP13" start="9" size="3" />
      <BitField name="SMP12" description="SMP12" start="6" size="3" />
      <BitField name="SMP11" description="SMP11" start="3" size="3" />
      <BitField name="SMP10" description="SMP10" start="0" size="3" />
    </Register>
    <Register name="TR1" description="watchdog threshold register 1" start="+0x20" size="4" access="Read/Write" reset_value="0x0FFF0000" reset_mask="0xFFFFFFFF">
      <BitField name="HT1" description="HT1" start="16" size="12" />
      <BitField name="AWDFILT" description="AWDFILT" start="12" size="3" />
      <BitField name="LT1" description="LT1" start="0" size="12" />
    </Register>
    <Register name="TR2" description="watchdog threshold register" start="+0x24" size="4" access="Read/Write" reset_value="0x00FF0000" reset_mask="0xFFFFFFFF">
      <BitField name="HT2" description="HT2" start="16" size="8" />
      <BitField name="LT2" description="LT2" start="0" size="8" />
    </Register>
    <Register name="TR3" description="watchdog threshold register 3" start="+0x28" size="4" access="Read/Write" reset_value="0x00FF0000" reset_mask="0xFFFFFFFF">
      <BitField name="HT3" description="HT3" start="16" size="8" />
      <BitField name="LT3" description="LT3" start="0" size="8" />
    </Register>
    <Register name="SQR1" description="regular sequence register 1" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ4" description="SQ4" start="24" size="5" />
      <BitField name="SQ3" description="SQ3" start="18" size="5" />
      <BitField name="SQ2" description="SQ2" start="12" size="5" />
      <BitField name="SQ1" description="SQ1" start="6" size="5" />
      <BitField name="L" description="Regular channel sequence length" start="0" size="4" />
    </Register>
    <Register name="SQR2" description="regular sequence register 2" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ9" description="SQ9" start="24" size="5" />
      <BitField name="SQ8" description="SQ8" start="18" size="5" />
      <BitField name="SQ7" description="SQ7" start="12" size="5" />
      <BitField name="SQ6" description="SQ6" start="6" size="5" />
      <BitField name="SQ5" description="SQ5" start="0" size="5" />
    </Register>
    <Register name="SQR3" description="regular sequence register 3" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ14" description="SQ14" start="24" size="5" />
      <BitField name="SQ13" description="SQ13" start="18" size="5" />
      <BitField name="SQ12" description="SQ12" start="12" size="5" />
      <BitField name="SQ11" description="SQ11" start="6" size="5" />
      <BitField name="SQ10" description="SQ10" start="0" size="5" />
    </Register>
    <Register name="SQR4" description="regular sequence register 4" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ16" description="SQ16" start="6" size="5" />
      <BitField name="SQ15" description="SQ15" start="0" size="5" />
    </Register>
    <Register name="DR" description="regular Data Register" start="+0x40" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RDATA" description="Regular Data converted" start="0" size="16" />
    </Register>
    <Register name="JSQR" description="injected sequence register" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JSQ4" description="JSQ4" start="27" size="5" />
      <BitField name="JSQ3" description="JSQ3" start="21" size="5" />
      <BitField name="JSQ2" description="JSQ2" start="15" size="5" />
      <BitField name="JSQ1" description="JSQ1" start="9" size="5" />
      <BitField name="JEXTEN" description="JEXTEN" start="7" size="2" />
      <BitField name="JEXTSEL" description="JEXTSEL" start="2" size="5" />
      <BitField name="JL" description="JL" start="0" size="2" />
    </Register>
    <Register name="OFR1" description="offset register 1" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="OFR2" description="offset register 2" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="OFR3" description="offset register 3" start="+0x68" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="OFR4" description="offset register 4" start="+0x6C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="JDR1" description="injected data register 1" start="+0x80" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA1" description="JDATA1" start="0" size="16" />
    </Register>
    <Register name="JDR2" description="injected data register 2" start="+0x84" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA2" description="JDATA2" start="0" size="16" />
    </Register>
    <Register name="JDR3" description="injected data register 3" start="+0x88" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA3" description="JDATA3" start="0" size="16" />
    </Register>
    <Register name="JDR4" description="injected data register 4" start="+0x8C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA4" description="JDATA4" start="0" size="16" />
    </Register>
    <Register name="AWD2CR" description="Analog Watchdog 2 Configuration Register" start="+0xA0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AWD2CH" description="AWD2CH" start="0" size="19" />
    </Register>
    <Register name="AWD3CR" description="Analog Watchdog 3 Configuration Register" start="+0xA4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AWD3CH" description="AWD3CH" start="0" size="19" />
    </Register>
    <Register name="DIFSEL" description="Differential Mode Selection Register 2" start="+0xB0" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DIFSEL_0" description="Differential mode for channels 0" start="0" size="1" access="ReadOnly" />
      <BitField name="DIFSEL_1_18" description="Differential mode for channels 15 to 1" start="1" size="18" access="Read/Write" />
    </Register>
    <Register name="CALFACT" description="Calibration Factors" start="+0xB4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CALFACT_D" description="CALFACT_D" start="16" size="7" />
      <BitField name="CALFACT_S" description="CALFACT_S" start="0" size="7" />
    </Register>
    <Register name="GCOMP" description="Gain compensation Register" start="+0xC0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="GCOMPCOEFF" description="GCOMPCOEFF" start="0" size="14" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="ADC2" description="Analog-to-Digital Converter" start="0x50000100">
    <Register name="ISR" description="interrupt and status register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JQOVF" description="JQOVF" start="10" size="1" />
      <BitField name="AWD3" description="AWD3" start="9" size="1" />
      <BitField name="AWD2" description="AWD2" start="8" size="1" />
      <BitField name="AWD1" description="AWD1" start="7" size="1" />
      <BitField name="JEOS" description="JEOS" start="6" size="1" />
      <BitField name="JEOC" description="JEOC" start="5" size="1" />
      <BitField name="OVR" description="OVR" start="4" size="1" />
      <BitField name="EOS" description="EOS" start="3" size="1" />
      <BitField name="EOC" description="EOC" start="2" size="1" />
      <BitField name="EOSMP" description="EOSMP" start="1" size="1" />
      <BitField name="ADRDY" description="ADRDY" start="0" size="1" />
    </Register>
    <Register name="IER" description="interrupt enable register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JQOVFIE" description="JQOVFIE" start="10" size="1" />
      <BitField name="AWD3IE" description="AWD3IE" start="9" size="1" />
      <BitField name="AWD2IE" description="AWD2IE" start="8" size="1" />
      <BitField name="AWD1IE" description="AWD1IE" start="7" size="1" />
      <BitField name="JEOSIE" description="JEOSIE" start="6" size="1" />
      <BitField name="JEOCIE" description="JEOCIE" start="5" size="1" />
      <BitField name="OVRIE" description="OVRIE" start="4" size="1" />
      <BitField name="EOSIE" description="EOSIE" start="3" size="1" />
      <BitField name="EOCIE" description="EOCIE" start="2" size="1" />
      <BitField name="EOSMPIE" description="EOSMPIE" start="1" size="1" />
      <BitField name="ADRDYIE" description="ADRDYIE" start="0" size="1" />
    </Register>
    <Register name="CR" description="control register" start="+0x8" size="4" access="Read/Write" reset_value="0x20000000" reset_mask="0xFFFFFFFF">
      <BitField name="ADCAL" description="ADCAL" start="31" size="1" />
      <BitField name="ADCALDIF" description="ADCALDIF" start="30" size="1" />
      <BitField name="DEEPPWD" description="DEEPPWD" start="29" size="1" />
      <BitField name="ADVREGEN" description="ADVREGEN" start="28" size="1" />
      <BitField name="JADSTP" description="JADSTP" start="5" size="1" />
      <BitField name="ADSTP" description="ADSTP" start="4" size="1" />
      <BitField name="JADSTART" description="JADSTART" start="3" size="1" />
      <BitField name="ADSTART" description="ADSTART" start="2" size="1" />
      <BitField name="ADDIS" description="ADDIS" start="1" size="1" />
      <BitField name="ADEN" description="ADEN" start="0" size="1" />
    </Register>
    <Register name="CFGR" description="configuration register" start="+0xC" size="4" access="Read/Write" reset_value="0x80000000" reset_mask="0xFFFFFFFF">
      <BitField name="JQDIS" description="Injected Queue disable" start="31" size="1" />
      <BitField name="AWD1CH" description="Analog watchdog 1 channel selection" start="26" size="5" />
      <BitField name="JAUTO" description="JAUTO" start="25" size="1" />
      <BitField name="JAWD1EN" description="JAWD1EN" start="24" size="1" />
      <BitField name="AWD1EN" description="AWD1EN" start="23" size="1" />
      <BitField name="AWD1SGL" description="AWD1SGL" start="22" size="1" />
      <BitField name="JQM" description="JQM" start="21" size="1" />
      <BitField name="JDISCEN" description="JDISCEN" start="20" size="1" />
      <BitField name="DISCNUM" description="DISCNUM" start="17" size="3" />
      <BitField name="DISCEN" description="DISCEN" start="16" size="1" />
      <BitField name="ALIGN" description="ALIGN" start="15" size="1" />
      <BitField name="AUTDLY" description="AUTDLY" start="14" size="1" />
      <BitField name="CONT" description="CONT" start="13" size="1" />
      <BitField name="OVRMOD" description="OVRMOD" start="12" size="1" />
      <BitField name="EXTEN" description="EXTEN" start="10" size="2" />
      <BitField name="EXTSEL" description="External trigger selection for regular group" start="5" size="5" />
      <BitField name="RES" description="RES" start="3" size="2" />
      <BitField name="DMACFG" description="DMACFG" start="1" size="1" />
      <BitField name="DMAEN" description="DMAEN" start="0" size="1" />
    </Register>
    <Register name="CFGR2" description="configuration register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMPTRIG" description="SMPTRIG" start="27" size="1" />
      <BitField name="BULB" description="BULB" start="26" size="1" />
      <BitField name="SWTRIG" description="SWTRIG" start="25" size="1" />
      <BitField name="GCOMP" description="GCOMP" start="16" size="1" />
      <BitField name="ROVSM" description="EXTEN" start="10" size="1" />
      <BitField name="TROVS" description="Triggered Regular Oversampling" start="9" size="1" />
      <BitField name="OVSS" description="ALIGN" start="5" size="4" />
      <BitField name="OVSR" description="RES" start="2" size="3" />
      <BitField name="JOVSE" description="DMACFG" start="1" size="1" />
      <BitField name="ROVSE" description="DMAEN" start="0" size="1" />
    </Register>
    <Register name="SMPR1" description="sample time register 1" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMP9" description="SMP9" start="27" size="3" />
      <BitField name="SMP8" description="SMP8" start="24" size="3" />
      <BitField name="SMP7" description="SMP7" start="21" size="3" />
      <BitField name="SMP6" description="SMP6" start="18" size="3" />
      <BitField name="SMP5" description="SMP5" start="15" size="3" />
      <BitField name="SMP4" description="SMP4" start="12" size="3" />
      <BitField name="SMP3" description="SMP3" start="9" size="3" />
      <BitField name="SMP2" description="SMP2" start="6" size="3" />
      <BitField name="SMP1" description="SMP1" start="3" size="3" />
      <BitField name="SMPPLUS" description="Addition of one clock cycle to the sampling time" start="31" size="1" />
      <BitField name="SMP0" description="SMP0" start="0" size="3" />
    </Register>
    <Register name="SMPR2" description="sample time register 2" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMP18" description="SMP18" start="24" size="3" />
      <BitField name="SMP17" description="SMP17" start="21" size="3" />
      <BitField name="SMP16" description="SMP16" start="18" size="3" />
      <BitField name="SMP15" description="SMP15" start="15" size="3" />
      <BitField name="SMP14" description="SMP14" start="12" size="3" />
      <BitField name="SMP13" description="SMP13" start="9" size="3" />
      <BitField name="SMP12" description="SMP12" start="6" size="3" />
      <BitField name="SMP11" description="SMP11" start="3" size="3" />
      <BitField name="SMP10" description="SMP10" start="0" size="3" />
    </Register>
    <Register name="TR1" description="watchdog threshold register 1" start="+0x20" size="4" access="Read/Write" reset_value="0x0FFF0000" reset_mask="0xFFFFFFFF">
      <BitField name="HT1" description="HT1" start="16" size="12" />
      <BitField name="AWDFILT" description="AWDFILT" start="12" size="3" />
      <BitField name="LT1" description="LT1" start="0" size="12" />
    </Register>
    <Register name="TR2" description="watchdog threshold register" start="+0x24" size="4" access="Read/Write" reset_value="0x00FF0000" reset_mask="0xFFFFFFFF">
      <BitField name="HT2" description="HT2" start="16" size="8" />
      <BitField name="LT2" description="LT2" start="0" size="8" />
    </Register>
    <Register name="TR3" description="watchdog threshold register 3" start="+0x28" size="4" access="Read/Write" reset_value="0x00FF0000" reset_mask="0xFFFFFFFF">
      <BitField name="HT3" description="HT3" start="16" size="8" />
      <BitField name="LT3" description="LT3" start="0" size="8" />
    </Register>
    <Register name="SQR1" description="regular sequence register 1" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ4" description="SQ4" start="24" size="5" />
      <BitField name="SQ3" description="SQ3" start="18" size="5" />
      <BitField name="SQ2" description="SQ2" start="12" size="5" />
      <BitField name="SQ1" description="SQ1" start="6" size="5" />
      <BitField name="L" description="Regular channel sequence length" start="0" size="4" />
    </Register>
    <Register name="SQR2" description="regular sequence register 2" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ9" description="SQ9" start="24" size="5" />
      <BitField name="SQ8" description="SQ8" start="18" size="5" />
      <BitField name="SQ7" description="SQ7" start="12" size="5" />
      <BitField name="SQ6" description="SQ6" start="6" size="5" />
      <BitField name="SQ5" description="SQ5" start="0" size="5" />
    </Register>
    <Register name="SQR3" description="regular sequence register 3" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ14" description="SQ14" start="24" size="5" />
      <BitField name="SQ13" description="SQ13" start="18" size="5" />
      <BitField name="SQ12" description="SQ12" start="12" size="5" />
      <BitField name="SQ11" description="SQ11" start="6" size="5" />
      <BitField name="SQ10" description="SQ10" start="0" size="5" />
    </Register>
    <Register name="SQR4" description="regular sequence register 4" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ16" description="SQ16" start="6" size="5" />
      <BitField name="SQ15" description="SQ15" start="0" size="5" />
    </Register>
    <Register name="DR" description="regular Data Register" start="+0x40" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RDATA" description="Regular Data converted" start="0" size="16" />
    </Register>
    <Register name="JSQR" description="injected sequence register" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JSQ4" description="JSQ4" start="27" size="5" />
      <BitField name="JSQ3" description="JSQ3" start="21" size="5" />
      <BitField name="JSQ2" description="JSQ2" start="15" size="5" />
      <BitField name="JSQ1" description="JSQ1" start="9" size="5" />
      <BitField name="JEXTEN" description="JEXTEN" start="7" size="2" />
      <BitField name="JEXTSEL" description="JEXTSEL" start="2" size="5" />
      <BitField name="JL" description="JL" start="0" size="2" />
    </Register>
    <Register name="OFR1" description="offset register 1" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="OFR2" description="offset register 2" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="OFR3" description="offset register 3" start="+0x68" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="OFR4" description="offset register 4" start="+0x6C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="JDR1" description="injected data register 1" start="+0x80" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA1" description="JDATA1" start="0" size="16" />
    </Register>
    <Register name="JDR2" description="injected data register 2" start="+0x84" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA2" description="JDATA2" start="0" size="16" />
    </Register>
    <Register name="JDR3" description="injected data register 3" start="+0x88" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA3" description="JDATA3" start="0" size="16" />
    </Register>
    <Register name="JDR4" description="injected data register 4" start="+0x8C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA4" description="JDATA4" start="0" size="16" />
    </Register>
    <Register name="AWD2CR" description="Analog Watchdog 2 Configuration Register" start="+0xA0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AWD2CH" description="AWD2CH" start="0" size="19" />
    </Register>
    <Register name="AWD3CR" description="Analog Watchdog 3 Configuration Register" start="+0xA4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AWD3CH" description="AWD3CH" start="0" size="19" />
    </Register>
    <Register name="DIFSEL" description="Differential Mode Selection Register 2" start="+0xB0" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DIFSEL_0" description="Differential mode for channels 0" start="0" size="1" access="ReadOnly" />
      <BitField name="DIFSEL_1_18" description="Differential mode for channels 15 to 1" start="1" size="18" access="Read/Write" />
    </Register>
    <Register name="CALFACT" description="Calibration Factors" start="+0xB4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CALFACT_D" description="CALFACT_D" start="16" size="7" />
      <BitField name="CALFACT_S" description="CALFACT_S" start="0" size="7" />
    </Register>
    <Register name="GCOMP" description="Gain compensation Register" start="+0xC0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="GCOMPCOEFF" description="GCOMPCOEFF" start="0" size="14" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="ADC3" description="Analog-to-Digital Converter" start="0x50000400">
    <Register name="ISR" description="interrupt and status register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JQOVF" description="JQOVF" start="10" size="1" />
      <BitField name="AWD3" description="AWD3" start="9" size="1" />
      <BitField name="AWD2" description="AWD2" start="8" size="1" />
      <BitField name="AWD1" description="AWD1" start="7" size="1" />
      <BitField name="JEOS" description="JEOS" start="6" size="1" />
      <BitField name="JEOC" description="JEOC" start="5" size="1" />
      <BitField name="OVR" description="OVR" start="4" size="1" />
      <BitField name="EOS" description="EOS" start="3" size="1" />
      <BitField name="EOC" description="EOC" start="2" size="1" />
      <BitField name="EOSMP" description="EOSMP" start="1" size="1" />
      <BitField name="ADRDY" description="ADRDY" start="0" size="1" />
    </Register>
    <Register name="IER" description="interrupt enable register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JQOVFIE" description="JQOVFIE" start="10" size="1" />
      <BitField name="AWD3IE" description="AWD3IE" start="9" size="1" />
      <BitField name="AWD2IE" description="AWD2IE" start="8" size="1" />
      <BitField name="AWD1IE" description="AWD1IE" start="7" size="1" />
      <BitField name="JEOSIE" description="JEOSIE" start="6" size="1" />
      <BitField name="JEOCIE" description="JEOCIE" start="5" size="1" />
      <BitField name="OVRIE" description="OVRIE" start="4" size="1" />
      <BitField name="EOSIE" description="EOSIE" start="3" size="1" />
      <BitField name="EOCIE" description="EOCIE" start="2" size="1" />
      <BitField name="EOSMPIE" description="EOSMPIE" start="1" size="1" />
      <BitField name="ADRDYIE" description="ADRDYIE" start="0" size="1" />
    </Register>
    <Register name="CR" description="control register" start="+0x8" size="4" access="Read/Write" reset_value="0x20002000" reset_mask="0xFFFFFFFF">
      <BitField name="ADCAL" description="ADCAL" start="31" size="1" />
      <BitField name="ADCALDIF" description="ADCALDIF" start="30" size="1" />
      <BitField name="DEEPPWD" description="DEEPPWD" start="29" size="1" />
      <BitField name="ADVREGEN" description="ADVREGEN" start="28" size="1" />
      <BitField name="JADSTP" description="JADSTP" start="5" size="1" />
      <BitField name="ADSTP" description="ADSTP" start="4" size="1" />
      <BitField name="JADSTART" description="JADSTART" start="3" size="1" />
      <BitField name="ADSTART" description="ADSTART" start="2" size="1" />
      <BitField name="ADDIS" description="ADDIS" start="1" size="1" />
      <BitField name="ADEN" description="ADEN" start="0" size="1" />
    </Register>
    <Register name="CFGR" description="configuration register" start="+0xC" size="4" access="Read/Write" reset_value="0x80000000" reset_mask="0xFFFFFFFF">
      <BitField name="JQDIS" description="Injected Queue disable" start="31" size="1" />
      <BitField name="AWDCH1CH" description="AWDCH1CH" start="26" size="5" />
      <BitField name="JAUTO" description="JAUTO" start="25" size="1" />
      <BitField name="JAWD1EN" description="JAWD1EN" start="24" size="1" />
      <BitField name="AWD1EN" description="AWD1EN" start="23" size="1" />
      <BitField name="AWD1SGL" description="AWD1SGL" start="22" size="1" />
      <BitField name="JQM" description="JQM" start="21" size="1" />
      <BitField name="JDISCEN" description="JDISCEN" start="20" size="1" />
      <BitField name="DISCNUM" description="DISCNUM" start="17" size="3" />
      <BitField name="DISCEN" description="DISCEN" start="16" size="1" />
      <BitField name="ALIGN" description="ALIGN" start="15" size="1" />
      <BitField name="AUTDLY" description="AUTDLY" start="14" size="1" />
      <BitField name="CONT" description="CONT" start="13" size="1" />
      <BitField name="OVRMOD" description="OVRMOD" start="12" size="1" />
      <BitField name="EXTEN" description="EXTEN" start="10" size="2" />
      <BitField name="EXTSEL" description="EXTSEL" start="6" size="4" />
      <BitField name="ALIGN_5" description="ALIGN_5" start="5" size="1" />
      <BitField name="RES" description="RES" start="3" size="2" />
      <BitField name="DMACFG" description="DMACFG" start="1" size="1" />
      <BitField name="DMAEN" description="DMAEN" start="0" size="1" />
    </Register>
    <Register name="CFGR2" description="configuration register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMPTRIG" description="SMPTRIG" start="27" size="1" />
      <BitField name="BULB" description="BULB" start="26" size="1" />
      <BitField name="SWTRIG" description="SWTRIG" start="25" size="1" />
      <BitField name="GCOMP" description="GCOMP" start="16" size="1" />
      <BitField name="ROVSM" description="EXTEN" start="10" size="1" />
      <BitField name="TROVS" description="Triggered Regular Oversampling" start="9" size="1" />
      <BitField name="OVSS" description="ALIGN" start="5" size="4" />
      <BitField name="OVSR" description="RES" start="2" size="3" />
      <BitField name="JOVSE" description="DMACFG" start="1" size="1" />
      <BitField name="ROVSE" description="DMAEN" start="0" size="1" />
    </Register>
    <Register name="SMPR1" description="sample time register 1" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMP9" description="SMP9" start="27" size="3" />
      <BitField name="SMP8" description="SMP8" start="24" size="3" />
      <BitField name="SMP7" description="SMP7" start="21" size="3" />
      <BitField name="SMP6" description="SMP6" start="18" size="3" />
      <BitField name="SMP5" description="SMP5" start="15" size="3" />
      <BitField name="SMP4" description="SMP4" start="12" size="3" />
      <BitField name="SMP3" description="SMP3" start="9" size="3" />
      <BitField name="SMP2" description="SMP2" start="6" size="3" />
      <BitField name="SMP1" description="SMP1" start="3" size="3" />
      <BitField name="SMPPLUS" description="Addition of one clock cycle to the sampling time" start="31" size="1" />
      <BitField name="SMP0" description="SMP0" start="0" size="3" />
    </Register>
    <Register name="SMPR2" description="sample time register 2" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMP18" description="SMP18" start="24" size="3" />
      <BitField name="SMP17" description="SMP17" start="21" size="3" />
      <BitField name="SMP16" description="SMP16" start="18" size="3" />
      <BitField name="SMP15" description="SMP15" start="15" size="3" />
      <BitField name="SMP14" description="SMP14" start="12" size="3" />
      <BitField name="SMP13" description="SMP13" start="9" size="3" />
      <BitField name="SMP12" description="SMP12" start="6" size="3" />
      <BitField name="SMP11" description="SMP11" start="3" size="3" />
      <BitField name="SMP10" description="SMP10" start="0" size="3" />
    </Register>
    <Register name="TR1" description="watchdog threshold register 1" start="+0x20" size="4" access="Read/Write" reset_value="0x0FFF0000" reset_mask="0xFFFFFFFF">
      <BitField name="HT1" description="HT1" start="16" size="12" />
      <BitField name="AWDFILT" description="AWDFILT" start="12" size="3" />
      <BitField name="LT1" description="LT1" start="0" size="12" />
    </Register>
    <Register name="TR2" description="watchdog threshold register" start="+0x24" size="4" access="Read/Write" reset_value="0x00FF0000" reset_mask="0xFFFFFFFF">
      <BitField name="HT2" description="HT2" start="16" size="8" />
      <BitField name="LT2" description="LT2" start="0" size="8" />
    </Register>
    <Register name="TR3" description="watchdog threshold register 3" start="+0x28" size="4" access="Read/Write" reset_value="0x00FF0000" reset_mask="0xFFFFFFFF">
      <BitField name="HT3" description="HT3" start="16" size="8" />
      <BitField name="LT3" description="LT3" start="0" size="8" />
    </Register>
    <Register name="SQR1" description="regular sequence register 1" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ4" description="SQ4" start="24" size="5" />
      <BitField name="SQ3" description="SQ3" start="18" size="5" />
      <BitField name="SQ2" description="SQ2" start="12" size="5" />
      <BitField name="SQ1" description="SQ1" start="6" size="5" />
      <BitField name="L" description="Regular channel sequence length" start="0" size="4" />
    </Register>
    <Register name="SQR2" description="regular sequence register 2" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ9" description="SQ9" start="24" size="5" />
      <BitField name="SQ8" description="SQ8" start="18" size="5" />
      <BitField name="SQ7" description="SQ7" start="12" size="5" />
      <BitField name="SQ6" description="SQ6" start="6" size="5" />
      <BitField name="SQ5" description="SQ5" start="0" size="5" />
    </Register>
    <Register name="SQR3" description="regular sequence register 3" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ14" description="SQ14" start="24" size="5" />
      <BitField name="SQ13" description="SQ13" start="18" size="5" />
      <BitField name="SQ12" description="SQ12" start="12" size="5" />
      <BitField name="SQ11" description="SQ11" start="6" size="5" />
      <BitField name="SQ10" description="SQ10" start="0" size="5" />
    </Register>
    <Register name="SQR4" description="regular sequence register 4" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ16" description="SQ16" start="6" size="5" />
      <BitField name="SQ15" description="SQ15" start="0" size="5" />
    </Register>
    <Register name="DR" description="regular Data Register" start="+0x40" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RDATA" description="Regular Data converted" start="0" size="16" />
    </Register>
    <Register name="JSQR" description="injected sequence register" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JSQ4" description="JSQ4" start="27" size="5" />
      <BitField name="JSQ3" description="JSQ3" start="21" size="5" />
      <BitField name="JSQ2" description="JSQ2" start="15" size="5" />
      <BitField name="JSQ1" description="JSQ1" start="9" size="5" />
      <BitField name="JEXTEN" description="JEXTEN" start="7" size="2" />
      <BitField name="JEXTSEL" description="JEXTSEL" start="2" size="5" />
      <BitField name="JL" description="JL" start="0" size="2" />
    </Register>
    <Register name="OFR1" description="offset register 1" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="OFR2" description="offset register 2" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="OFR3" description="offset register 3" start="+0x68" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="OFR4" description="offset register 4" start="+0x6C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="JDR1" description="injected data register 1" start="+0x80" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA1" description="JDATA1" start="0" size="16" />
    </Register>
    <Register name="JDR2" description="injected data register 2" start="+0x84" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA2" description="JDATA2" start="0" size="16" />
    </Register>
    <Register name="JDR3" description="injected data register 3" start="+0x88" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA3" description="JDATA3" start="0" size="16" />
    </Register>
    <Register name="JDR4" description="injected data register 4" start="+0x8C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA4" description="JDATA4" start="0" size="16" />
    </Register>
    <Register name="AWD2CR" description="Analog Watchdog 2 Configuration Register" start="+0xA0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AWD2CH" description="AWD2CH" start="0" size="19" />
    </Register>
    <Register name="AWD3CR" description="Analog Watchdog 3 Configuration Register" start="+0xA4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AWD3CH" description="AWD3CH" start="0" size="19" />
    </Register>
    <Register name="DIFSEL" description="Differential Mode Selection Register 2" start="+0xB0" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DIFSEL_0" description="Differential mode for channels 0" start="0" size="1" access="ReadOnly" />
      <BitField name="DIFSEL_1_18" description="Differential mode for channels 15 to 1" start="1" size="18" access="Read/Write" />
    </Register>
    <Register name="CALFACT" description="Calibration Factors" start="+0xB4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CALFACT_D" description="CALFACT_D" start="16" size="7" />
      <BitField name="CALFACT_S" description="CALFACT_S" start="0" size="7" />
    </Register>
    <Register name="GCOMP" description="Gain compensation Register" start="+0xC0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="GCOMPCOEFF" description="GCOMPCOEFF" start="0" size="14" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="ADC4" description="Analog-to-Digital Converter" start="0x50000500">
    <Register name="ISR" description="interrupt and status register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JQOVF" description="JQOVF" start="10" size="1" />
      <BitField name="AWD3" description="AWD3" start="9" size="1" />
      <BitField name="AWD2" description="AWD2" start="8" size="1" />
      <BitField name="AWD1" description="AWD1" start="7" size="1" />
      <BitField name="JEOS" description="JEOS" start="6" size="1" />
      <BitField name="JEOC" description="JEOC" start="5" size="1" />
      <BitField name="OVR" description="OVR" start="4" size="1" />
      <BitField name="EOS" description="EOS" start="3" size="1" />
      <BitField name="EOC" description="EOC" start="2" size="1" />
      <BitField name="EOSMP" description="EOSMP" start="1" size="1" />
      <BitField name="ADRDY" description="ADRDY" start="0" size="1" />
    </Register>
    <Register name="IER" description="interrupt enable register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JQOVFIE" description="JQOVFIE" start="10" size="1" />
      <BitField name="AWD3IE" description="AWD3IE" start="9" size="1" />
      <BitField name="AWD2IE" description="AWD2IE" start="8" size="1" />
      <BitField name="AWD1IE" description="AWD1IE" start="7" size="1" />
      <BitField name="JEOSIE" description="JEOSIE" start="6" size="1" />
      <BitField name="JEOCIE" description="JEOCIE" start="5" size="1" />
      <BitField name="OVRIE" description="OVRIE" start="4" size="1" />
      <BitField name="EOSIE" description="EOSIE" start="3" size="1" />
      <BitField name="EOCIE" description="EOCIE" start="2" size="1" />
      <BitField name="EOSMPIE" description="EOSMPIE" start="1" size="1" />
      <BitField name="ADRDYIE" description="ADRDYIE" start="0" size="1" />
    </Register>
    <Register name="CR" description="control register" start="+0x8" size="4" access="Read/Write" reset_value="0x20000000" reset_mask="0xFFFFFFFF">
      <BitField name="ADCAL" description="ADCAL" start="31" size="1" />
      <BitField name="ADCALDIF" description="ADCALDIF" start="30" size="1" />
      <BitField name="DEEPPWD" description="DEEPPWD" start="29" size="1" />
      <BitField name="ADVREGEN" description="ADVREGEN" start="28" size="1" />
      <BitField name="JADSTP" description="JADSTP" start="5" size="1" />
      <BitField name="ADSTP" description="ADSTP" start="4" size="1" />
      <BitField name="JADSTART" description="JADSTART" start="3" size="1" />
      <BitField name="ADSTART" description="ADSTART" start="2" size="1" />
      <BitField name="ADDIS" description="ADDIS" start="1" size="1" />
      <BitField name="ADEN" description="ADEN" start="0" size="1" />
    </Register>
    <Register name="CFGR" description="configuration register" start="+0xC" size="4" access="Read/Write" reset_value="0x80000000" reset_mask="0xFFFFFFFF">
      <BitField name="JQDIS" description="Injected Queue disable" start="31" size="1" />
      <BitField name="AWD1CH" description="Analog watchdog 1 channel selection" start="26" size="5" />
      <BitField name="JAUTO" description="JAUTO" start="25" size="1" />
      <BitField name="JAWD1EN" description="JAWD1EN" start="24" size="1" />
      <BitField name="AWD1EN" description="AWD1EN" start="23" size="1" />
      <BitField name="AWD1SGL" description="AWD1SGL" start="22" size="1" />
      <BitField name="JQM" description="JQM" start="21" size="1" />
      <BitField name="JDISCEN" description="JDISCEN" start="20" size="1" />
      <BitField name="DISCNUM" description="DISCNUM" start="17" size="3" />
      <BitField name="DISCEN" description="DISCEN" start="16" size="1" />
      <BitField name="ALIGN" description="ALIGN" start="15" size="1" />
      <BitField name="AUTDLY" description="AUTDLY" start="14" size="1" />
      <BitField name="CONT" description="CONT" start="13" size="1" />
      <BitField name="OVRMOD" description="OVRMOD" start="12" size="1" />
      <BitField name="EXTEN" description="EXTEN" start="10" size="2" />
      <BitField name="EXTSEL" description="External trigger selection for regular group" start="5" size="5" />
      <BitField name="RES" description="RES" start="3" size="2" />
      <BitField name="DMACFG" description="DMACFG" start="1" size="1" />
      <BitField name="DMAEN" description="DMAEN" start="0" size="1" />
    </Register>
    <Register name="CFGR2" description="configuration register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMPTRIG" description="SMPTRIG" start="27" size="1" />
      <BitField name="BULB" description="BULB" start="26" size="1" />
      <BitField name="SWTRIG" description="SWTRIG" start="25" size="1" />
      <BitField name="GCOMP" description="GCOMP" start="16" size="1" />
      <BitField name="ROVSM" description="EXTEN" start="10" size="1" />
      <BitField name="TROVS" description="Triggered Regular Oversampling" start="9" size="1" />
      <BitField name="OVSS" description="ALIGN" start="5" size="4" />
      <BitField name="OVSR" description="RES" start="2" size="3" />
      <BitField name="JOVSE" description="DMACFG" start="1" size="1" />
      <BitField name="ROVSE" description="DMAEN" start="0" size="1" />
    </Register>
    <Register name="SMPR1" description="sample time register 1" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMP9" description="SMP9" start="27" size="3" />
      <BitField name="SMP8" description="SMP8" start="24" size="3" />
      <BitField name="SMP7" description="SMP7" start="21" size="3" />
      <BitField name="SMP6" description="SMP6" start="18" size="3" />
      <BitField name="SMP5" description="SMP5" start="15" size="3" />
      <BitField name="SMP4" description="SMP4" start="12" size="3" />
      <BitField name="SMP3" description="SMP3" start="9" size="3" />
      <BitField name="SMP2" description="SMP2" start="6" size="3" />
      <BitField name="SMP1" description="SMP1" start="3" size="3" />
      <BitField name="SMPPLUS" description="Addition of one clock cycle to the sampling time" start="31" size="1" />
      <BitField name="SMP0" description="SMP0" start="0" size="3" />
    </Register>
    <Register name="SMPR2" description="sample time register 2" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMP18" description="SMP18" start="24" size="3" />
      <BitField name="SMP17" description="SMP17" start="21" size="3" />
      <BitField name="SMP16" description="SMP16" start="18" size="3" />
      <BitField name="SMP15" description="SMP15" start="15" size="3" />
      <BitField name="SMP14" description="SMP14" start="12" size="3" />
      <BitField name="SMP13" description="SMP13" start="9" size="3" />
      <BitField name="SMP12" description="SMP12" start="6" size="3" />
      <BitField name="SMP11" description="SMP11" start="3" size="3" />
      <BitField name="SMP10" description="SMP10" start="0" size="3" />
    </Register>
    <Register name="TR1" description="watchdog threshold register 1" start="+0x20" size="4" access="Read/Write" reset_value="0x0FFF0000" reset_mask="0xFFFFFFFF">
      <BitField name="HT1" description="HT1" start="16" size="12" />
      <BitField name="AWDFILT" description="AWDFILT" start="12" size="3" />
      <BitField name="LT1" description="LT1" start="0" size="12" />
    </Register>
    <Register name="TR2" description="watchdog threshold register" start="+0x24" size="4" access="Read/Write" reset_value="0x00FF0000" reset_mask="0xFFFFFFFF">
      <BitField name="HT2" description="HT2" start="16" size="8" />
      <BitField name="LT2" description="LT2" start="0" size="8" />
    </Register>
    <Register name="TR3" description="watchdog threshold register 3" start="+0x28" size="4" access="Read/Write" reset_value="0x00FF0000" reset_mask="0xFFFFFFFF">
      <BitField name="HT3" description="HT3" start="16" size="8" />
      <BitField name="LT3" description="LT3" start="0" size="8" />
    </Register>
    <Register name="SQR1" description="regular sequence register 1" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ4" description="SQ4" start="24" size="5" />
      <BitField name="SQ3" description="SQ3" start="18" size="5" />
      <BitField name="SQ2" description="SQ2" start="12" size="5" />
      <BitField name="SQ1" description="SQ1" start="6" size="5" />
      <BitField name="L" description="Regular channel sequence length" start="0" size="4" />
    </Register>
    <Register name="SQR2" description="regular sequence register 2" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ9" description="SQ9" start="24" size="5" />
      <BitField name="SQ8" description="SQ8" start="18" size="5" />
      <BitField name="SQ7" description="SQ7" start="12" size="5" />
      <BitField name="SQ6" description="SQ6" start="6" size="5" />
      <BitField name="SQ5" description="SQ5" start="0" size="5" />
    </Register>
    <Register name="SQR3" description="regular sequence register 3" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ14" description="SQ14" start="24" size="5" />
      <BitField name="SQ13" description="SQ13" start="18" size="5" />
      <BitField name="SQ12" description="SQ12" start="12" size="5" />
      <BitField name="SQ11" description="SQ11" start="6" size="5" />
      <BitField name="SQ10" description="SQ10" start="0" size="5" />
    </Register>
    <Register name="SQR4" description="regular sequence register 4" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ16" description="SQ16" start="6" size="5" />
      <BitField name="SQ15" description="SQ15" start="0" size="5" />
    </Register>
    <Register name="DR" description="regular Data Register" start="+0x40" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RDATA" description="Regular Data converted" start="0" size="16" />
    </Register>
    <Register name="JSQR" description="injected sequence register" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JSQ4" description="JSQ4" start="27" size="5" />
      <BitField name="JSQ3" description="JSQ3" start="21" size="5" />
      <BitField name="JSQ2" description="JSQ2" start="15" size="5" />
      <BitField name="JSQ1" description="JSQ1" start="9" size="5" />
      <BitField name="JEXTEN" description="JEXTEN" start="7" size="2" />
      <BitField name="JEXTSEL" description="JEXTSEL" start="2" size="5" />
      <BitField name="JL" description="JL" start="0" size="2" />
    </Register>
    <Register name="OFR1" description="offset register 1" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="OFR2" description="offset register 2" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="OFR3" description="offset register 3" start="+0x68" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="OFR4" description="offset register 4" start="+0x6C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="JDR1" description="injected data register 1" start="+0x80" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA1" description="JDATA1" start="0" size="16" />
    </Register>
    <Register name="JDR2" description="injected data register 2" start="+0x84" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA2" description="JDATA2" start="0" size="16" />
    </Register>
    <Register name="JDR3" description="injected data register 3" start="+0x88" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA3" description="JDATA3" start="0" size="16" />
    </Register>
    <Register name="JDR4" description="injected data register 4" start="+0x8C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA4" description="JDATA4" start="0" size="16" />
    </Register>
    <Register name="AWD2CR" description="Analog Watchdog 2 Configuration Register" start="+0xA0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AWD2CH" description="AWD2CH" start="0" size="19" />
    </Register>
    <Register name="AWD3CR" description="Analog Watchdog 3 Configuration Register" start="+0xA4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AWD3CH" description="AWD3CH" start="0" size="19" />
    </Register>
    <Register name="DIFSEL" description="Differential Mode Selection Register 2" start="+0xB0" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DIFSEL_0" description="Differential mode for channels 0" start="0" size="1" access="ReadOnly" />
      <BitField name="DIFSEL_1_18" description="Differential mode for channels 15 to 1" start="1" size="18" access="Read/Write" />
    </Register>
    <Register name="CALFACT" description="Calibration Factors" start="+0xB4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CALFACT_D" description="CALFACT_D" start="16" size="7" />
      <BitField name="CALFACT_S" description="CALFACT_S" start="0" size="7" />
    </Register>
    <Register name="GCOMP" description="Gain compensation Register" start="+0xC0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="GCOMPCOEFF" description="GCOMPCOEFF" start="0" size="14" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="ADC5" description="Analog-to-Digital Converter" start="0x50000600">
    <Register name="ISR" description="interrupt and status register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JQOVF" description="JQOVF" start="10" size="1" />
      <BitField name="AWD3" description="AWD3" start="9" size="1" />
      <BitField name="AWD2" description="AWD2" start="8" size="1" />
      <BitField name="AWD1" description="AWD1" start="7" size="1" />
      <BitField name="JEOS" description="JEOS" start="6" size="1" />
      <BitField name="JEOC" description="JEOC" start="5" size="1" />
      <BitField name="OVR" description="OVR" start="4" size="1" />
      <BitField name="EOS" description="EOS" start="3" size="1" />
      <BitField name="EOC" description="EOC" start="2" size="1" />
      <BitField name="EOSMP" description="EOSMP" start="1" size="1" />
      <BitField name="ADRDY" description="ADRDY" start="0" size="1" />
    </Register>
    <Register name="IER" description="interrupt enable register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JQOVFIE" description="JQOVFIE" start="10" size="1" />
      <BitField name="AWD3IE" description="AWD3IE" start="9" size="1" />
      <BitField name="AWD2IE" description="AWD2IE" start="8" size="1" />
      <BitField name="AWD1IE" description="AWD1IE" start="7" size="1" />
      <BitField name="JEOSIE" description="JEOSIE" start="6" size="1" />
      <BitField name="JEOCIE" description="JEOCIE" start="5" size="1" />
      <BitField name="OVRIE" description="OVRIE" start="4" size="1" />
      <BitField name="EOSIE" description="EOSIE" start="3" size="1" />
      <BitField name="EOCIE" description="EOCIE" start="2" size="1" />
      <BitField name="EOSMPIE" description="EOSMPIE" start="1" size="1" />
      <BitField name="ADRDYIE" description="ADRDYIE" start="0" size="1" />
    </Register>
    <Register name="CR" description="control register" start="+0x8" size="4" access="Read/Write" reset_value="0x20002000" reset_mask="0xFFFFFFFF">
      <BitField name="ADCAL" description="ADCAL" start="31" size="1" />
      <BitField name="ADCALDIF" description="ADCALDIF" start="30" size="1" />
      <BitField name="DEEPPWD" description="DEEPPWD" start="29" size="1" />
      <BitField name="ADVREGEN" description="ADVREGEN" start="28" size="1" />
      <BitField name="JADSTP" description="JADSTP" start="5" size="1" />
      <BitField name="ADSTP" description="ADSTP" start="4" size="1" />
      <BitField name="JADSTART" description="JADSTART" start="3" size="1" />
      <BitField name="ADSTART" description="ADSTART" start="2" size="1" />
      <BitField name="ADDIS" description="ADDIS" start="1" size="1" />
      <BitField name="ADEN" description="ADEN" start="0" size="1" />
    </Register>
    <Register name="CFGR" description="configuration register" start="+0xC" size="4" access="Read/Write" reset_value="0x80000000" reset_mask="0xFFFFFFFF">
      <BitField name="JQDIS" description="Injected Queue disable" start="31" size="1" />
      <BitField name="AWDCH1CH" description="AWDCH1CH" start="26" size="5" />
      <BitField name="JAUTO" description="JAUTO" start="25" size="1" />
      <BitField name="JAWD1EN" description="JAWD1EN" start="24" size="1" />
      <BitField name="AWD1EN" description="AWD1EN" start="23" size="1" />
      <BitField name="AWD1SGL" description="AWD1SGL" start="22" size="1" />
      <BitField name="JQM" description="JQM" start="21" size="1" />
      <BitField name="JDISCEN" description="JDISCEN" start="20" size="1" />
      <BitField name="DISCNUM" description="DISCNUM" start="17" size="3" />
      <BitField name="DISCEN" description="DISCEN" start="16" size="1" />
      <BitField name="ALIGN" description="ALIGN" start="15" size="1" />
      <BitField name="AUTDLY" description="AUTDLY" start="14" size="1" />
      <BitField name="CONT" description="CONT" start="13" size="1" />
      <BitField name="OVRMOD" description="OVRMOD" start="12" size="1" />
      <BitField name="EXTEN" description="EXTEN" start="10" size="2" />
      <BitField name="EXTSEL" description="EXTSEL" start="6" size="4" />
      <BitField name="ALIGN_5" description="ALIGN_5" start="5" size="1" />
      <BitField name="RES" description="RES" start="3" size="2" />
      <BitField name="DMACFG" description="DMACFG" start="1" size="1" />
      <BitField name="DMAEN" description="DMAEN" start="0" size="1" />
    </Register>
    <Register name="CFGR2" description="configuration register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMPTRIG" description="SMPTRIG" start="27" size="1" />
      <BitField name="BULB" description="BULB" start="26" size="1" />
      <BitField name="SWTRIG" description="SWTRIG" start="25" size="1" />
      <BitField name="GCOMP" description="GCOMP" start="16" size="1" />
      <BitField name="ROVSM" description="EXTEN" start="10" size="1" />
      <BitField name="TROVS" description="Triggered Regular Oversampling" start="9" size="1" />
      <BitField name="OVSS" description="ALIGN" start="5" size="4" />
      <BitField name="OVSR" description="RES" start="2" size="3" />
      <BitField name="JOVSE" description="DMACFG" start="1" size="1" />
      <BitField name="ROVSE" description="DMAEN" start="0" size="1" />
    </Register>
    <Register name="SMPR1" description="sample time register 1" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMP9" description="SMP9" start="27" size="3" />
      <BitField name="SMP8" description="SMP8" start="24" size="3" />
      <BitField name="SMP7" description="SMP7" start="21" size="3" />
      <BitField name="SMP6" description="SMP6" start="18" size="3" />
      <BitField name="SMP5" description="SMP5" start="15" size="3" />
      <BitField name="SMP4" description="SMP4" start="12" size="3" />
      <BitField name="SMP3" description="SMP3" start="9" size="3" />
      <BitField name="SMP2" description="SMP2" start="6" size="3" />
      <BitField name="SMP1" description="SMP1" start="3" size="3" />
      <BitField name="SMPPLUS" description="Addition of one clock cycle to the sampling time" start="31" size="1" />
      <BitField name="SMP0" description="SMP0" start="0" size="3" />
    </Register>
    <Register name="SMPR2" description="sample time register 2" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SMP18" description="SMP18" start="24" size="3" />
      <BitField name="SMP17" description="SMP17" start="21" size="3" />
      <BitField name="SMP16" description="SMP16" start="18" size="3" />
      <BitField name="SMP15" description="SMP15" start="15" size="3" />
      <BitField name="SMP14" description="SMP14" start="12" size="3" />
      <BitField name="SMP13" description="SMP13" start="9" size="3" />
      <BitField name="SMP12" description="SMP12" start="6" size="3" />
      <BitField name="SMP11" description="SMP11" start="3" size="3" />
      <BitField name="SMP10" description="SMP10" start="0" size="3" />
    </Register>
    <Register name="TR1" description="watchdog threshold register 1" start="+0x20" size="4" access="Read/Write" reset_value="0x0FFF0000" reset_mask="0xFFFFFFFF">
      <BitField name="HT1" description="HT1" start="16" size="12" />
      <BitField name="AWDFILT" description="AWDFILT" start="12" size="3" />
      <BitField name="LT1" description="LT1" start="0" size="12" />
    </Register>
    <Register name="TR2" description="watchdog threshold register" start="+0x24" size="4" access="Read/Write" reset_value="0x00FF0000" reset_mask="0xFFFFFFFF">
      <BitField name="HT2" description="HT2" start="16" size="8" />
      <BitField name="LT2" description="LT2" start="0" size="8" />
    </Register>
    <Register name="TR3" description="watchdog threshold register 3" start="+0x28" size="4" access="Read/Write" reset_value="0x00FF0000" reset_mask="0xFFFFFFFF">
      <BitField name="HT3" description="HT3" start="16" size="8" />
      <BitField name="LT3" description="LT3" start="0" size="8" />
    </Register>
    <Register name="SQR1" description="regular sequence register 1" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ4" description="SQ4" start="24" size="5" />
      <BitField name="SQ3" description="SQ3" start="18" size="5" />
      <BitField name="SQ2" description="SQ2" start="12" size="5" />
      <BitField name="SQ1" description="SQ1" start="6" size="5" />
      <BitField name="L" description="Regular channel sequence length" start="0" size="4" />
    </Register>
    <Register name="SQR2" description="regular sequence register 2" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ9" description="SQ9" start="24" size="5" />
      <BitField name="SQ8" description="SQ8" start="18" size="5" />
      <BitField name="SQ7" description="SQ7" start="12" size="5" />
      <BitField name="SQ6" description="SQ6" start="6" size="5" />
      <BitField name="SQ5" description="SQ5" start="0" size="5" />
    </Register>
    <Register name="SQR3" description="regular sequence register 3" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ14" description="SQ14" start="24" size="5" />
      <BitField name="SQ13" description="SQ13" start="18" size="5" />
      <BitField name="SQ12" description="SQ12" start="12" size="5" />
      <BitField name="SQ11" description="SQ11" start="6" size="5" />
      <BitField name="SQ10" description="SQ10" start="0" size="5" />
    </Register>
    <Register name="SQR4" description="regular sequence register 4" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SQ16" description="SQ16" start="6" size="5" />
      <BitField name="SQ15" description="SQ15" start="0" size="5" />
    </Register>
    <Register name="DR" description="regular Data Register" start="+0x40" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RDATA" description="Regular Data converted" start="0" size="16" />
    </Register>
    <Register name="JSQR" description="injected sequence register" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JSQ4" description="JSQ4" start="27" size="5" />
      <BitField name="JSQ3" description="JSQ3" start="21" size="5" />
      <BitField name="JSQ2" description="JSQ2" start="15" size="5" />
      <BitField name="JSQ1" description="JSQ1" start="9" size="5" />
      <BitField name="JEXTEN" description="JEXTEN" start="7" size="2" />
      <BitField name="JEXTSEL" description="JEXTSEL" start="2" size="5" />
      <BitField name="JL" description="JL" start="0" size="2" />
    </Register>
    <Register name="OFR1" description="offset register 1" start="+0x60" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="OFR2" description="offset register 2" start="+0x64" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="OFR3" description="offset register 3" start="+0x68" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="OFR4" description="offset register 4" start="+0x6C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="OFFSET1_EN" description="OFFSET1_EN" start="31" size="1" />
      <BitField name="OFFSET1_CH" description="OFFSET1_CH" start="26" size="5" />
      <BitField name="SATEN" description="SATEN" start="25" size="1" />
      <BitField name="OFFSETPOS" description="OFFSETPOS" start="24" size="1" />
      <BitField name="OFFSET1" description="OFFSET1" start="0" size="12" />
    </Register>
    <Register name="JDR1" description="injected data register 1" start="+0x80" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA1" description="JDATA1" start="0" size="16" />
    </Register>
    <Register name="JDR2" description="injected data register 2" start="+0x84" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA2" description="JDATA2" start="0" size="16" />
    </Register>
    <Register name="JDR3" description="injected data register 3" start="+0x88" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA3" description="JDATA3" start="0" size="16" />
    </Register>
    <Register name="JDR4" description="injected data register 4" start="+0x8C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="JDATA4" description="JDATA4" start="0" size="16" />
    </Register>
    <Register name="AWD2CR" description="Analog Watchdog 2 Configuration Register" start="+0xA0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AWD2CH" description="AWD2CH" start="0" size="19" />
    </Register>
    <Register name="AWD3CR" description="Analog Watchdog 3 Configuration Register" start="+0xA4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AWD3CH" description="AWD3CH" start="0" size="19" />
    </Register>
    <Register name="DIFSEL" description="Differential Mode Selection Register 2" start="+0xB0" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DIFSEL_0" description="Differential mode for channels 0" start="0" size="1" access="ReadOnly" />
      <BitField name="DIFSEL_1_18" description="Differential mode for channels 15 to 1" start="1" size="18" access="Read/Write" />
    </Register>
    <Register name="CALFACT" description="Calibration Factors" start="+0xB4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CALFACT_D" description="CALFACT_D" start="16" size="7" />
      <BitField name="CALFACT_S" description="CALFACT_S" start="0" size="7" />
    </Register>
    <Register name="GCOMP" description="Gain compensation Register" start="+0xC0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="GCOMPCOEFF" description="GCOMPCOEFF" start="0" size="14" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="ADC12_Common" description="Analog-to-Digital Converter" start="0x50000300">
    <Register name="CSR" description="ADC Common status register" start="+0x0" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ADDRDY_MST" description="ADDRDY_MST" start="0" size="1" />
      <BitField name="EOSMP_MST" description="EOSMP_MST" start="1" size="1" />
      <BitField name="EOC_MST" description="EOC_MST" start="2" size="1" />
      <BitField name="EOS_MST" description="EOS_MST" start="3" size="1" />
      <BitField name="OVR_MST" description="OVR_MST" start="4" size="1" />
      <BitField name="JEOC_MST" description="JEOC_MST" start="5" size="1" />
      <BitField name="JEOS_MST" description="JEOS_MST" start="6" size="1" />
      <BitField name="AWD1_MST" description="AWD1_MST" start="7" size="1" />
      <BitField name="AWD2_MST" description="AWD2_MST" start="8" size="1" />
      <BitField name="AWD3_MST" description="AWD3_MST" start="9" size="1" />
      <BitField name="JQOVF_MST" description="JQOVF_MST" start="10" size="1" />
      <BitField name="ADRDY_SLV" description="ADRDY_SLV" start="16" size="1" />
      <BitField name="EOSMP_SLV" description="EOSMP_SLV" start="17" size="1" />
      <BitField name="EOC_SLV" description="End of regular conversion of the slave ADC" start="18" size="1" />
      <BitField name="EOS_SLV" description="End of regular sequence flag of the slave ADC" start="19" size="1" />
      <BitField name="OVR_SLV" description="Overrun flag of the slave ADC" start="20" size="1" />
      <BitField name="JEOC_SLV" description="End of injected conversion flag of the slave ADC" start="21" size="1" />
      <BitField name="JEOS_SLV" description="End of injected sequence flag of the slave ADC" start="22" size="1" />
      <BitField name="AWD1_SLV" description="Analog watchdog 1 flag of the slave ADC" start="23" size="1" />
      <BitField name="AWD2_SLV" description="Analog watchdog 2 flag of the slave ADC" start="24" size="1" />
      <BitField name="AWD3_SLV" description="Analog watchdog 3 flag of the slave ADC" start="25" size="1" />
      <BitField name="JQOVF_SLV" description="Injected Context Queue Overflow flag of the slave ADC" start="26" size="1" />
    </Register>
    <Register name="CCR" description="ADC common control register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DUAL" description="Dual ADC mode selection" start="0" size="5" />
      <BitField name="DELAY" description="Delay between 2 sampling phases" start="8" size="4" />
      <BitField name="DMACFG" description="DMA configuration (for multi-ADC mode)" start="13" size="1" />
      <BitField name="MDMA" description="Direct memory access mode for multi ADC mode" start="14" size="2" />
      <BitField name="CKMODE" description="ADC clock mode" start="16" size="2" />
      <BitField name="VREFEN" description="VREFINT enable" start="22" size="1" />
      <BitField name="VSENSESEL" description=" VTS selection" start="23" size="1" />
      <BitField name="VBATSEL" description="VBAT selection" start="24" size="1" />
      <BitField name="PRESC" description="ADC prescaler" start="18" size="4" />
    </Register>
    <Register name="CDR" description="ADC common regular data register for dual and triple modes" start="+0xC" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RDATA_SLV" description="Regular data of the slave ADC" start="16" size="16" />
      <BitField name="RDATA_MST" description="Regular data of the master ADC" start="0" size="16" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="ADC345_Common" description="Analog-to-Digital Converter" start="0x50000700">
    <Register name="CSR" description="ADC Common status register" start="+0x0" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ADDRDY_MST" description="ADDRDY_MST" start="0" size="1" />
      <BitField name="EOSMP_MST" description="EOSMP_MST" start="1" size="1" />
      <BitField name="EOC_MST" description="EOC_MST" start="2" size="1" />
      <BitField name="EOS_MST" description="EOS_MST" start="3" size="1" />
      <BitField name="OVR_MST" description="OVR_MST" start="4" size="1" />
      <BitField name="JEOC_MST" description="JEOC_MST" start="5" size="1" />
      <BitField name="JEOS_MST" description="JEOS_MST" start="6" size="1" />
      <BitField name="AWD1_MST" description="AWD1_MST" start="7" size="1" />
      <BitField name="AWD2_MST" description="AWD2_MST" start="8" size="1" />
      <BitField name="AWD3_MST" description="AWD3_MST" start="9" size="1" />
      <BitField name="JQOVF_MST" description="JQOVF_MST" start="10" size="1" />
      <BitField name="ADRDY_SLV" description="ADRDY_SLV" start="16" size="1" />
      <BitField name="EOSMP_SLV" description="EOSMP_SLV" start="17" size="1" />
      <BitField name="EOC_SLV" description="End of regular conversion of the slave ADC" start="18" size="1" />
      <BitField name="EOS_SLV" description="End of regular sequence flag of the slave ADC" start="19" size="1" />
      <BitField name="OVR_SLV" description="Overrun flag of the slave ADC" start="20" size="1" />
      <BitField name="JEOC_SLV" description="End of injected conversion flag of the slave ADC" start="21" size="1" />
      <BitField name="JEOS_SLV" description="End of injected sequence flag of the slave ADC" start="22" size="1" />
      <BitField name="AWD1_SLV" description="Analog watchdog 1 flag of the slave ADC" start="23" size="1" />
      <BitField name="AWD2_SLV" description="Analog watchdog 2 flag of the slave ADC" start="24" size="1" />
      <BitField name="AWD3_SLV" description="Analog watchdog 3 flag of the slave ADC" start="25" size="1" />
      <BitField name="JQOVF_SLV" description="Injected Context Queue Overflow flag of the slave ADC" start="26" size="1" />
    </Register>
    <Register name="CCR" description="ADC common control register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DUAL" description="Dual ADC mode selection" start="0" size="5" />
      <BitField name="DELAY" description="Delay between 2 sampling phases" start="8" size="4" />
      <BitField name="DMACFG" description="DMA configuration (for multi-ADC mode)" start="13" size="1" />
      <BitField name="MDMA" description="Direct memory access mode for multi ADC mode" start="14" size="2" />
      <BitField name="CKMODE" description="ADC clock mode" start="16" size="2" />
      <BitField name="VREFEN" description="VREFINT enable" start="22" size="1" />
      <BitField name="VSENSESEL" description=" VTS selection" start="23" size="1" />
      <BitField name="VBATSEL" description="VBAT selection" start="24" size="1" />
      <BitField name="PRESC" description="ADC prescaler" start="18" size="4" />
    </Register>
    <Register name="CDR" description="ADC common regular data register for dual and triple modes" start="+0xC" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RDATA_SLV" description="Regular data of the slave ADC" start="16" size="16" />
      <BitField name="RDATA_MST" description="Regular data of the master ADC" start="0" size="16" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="FMAC" description="Filter Math Accelerator" start="0x40021400">
    <Register name="X1BUFCFG" description="FMAC X1 Buffer Configuration register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="X1_BASE" description="X1_BASE" start="0" size="8" />
      <BitField name="X1_BUF_SIZE" description="X1_BUF_SIZE" start="8" size="8" />
      <BitField name="FULL_WM" description="FULL_WM" start="24" size="2" />
    </Register>
    <Register name="X2BUFCFG" description="FMAC X2 Buffer Configuration register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="X2_BASE" description="X1_BASE" start="0" size="8" />
      <BitField name="X2_BUF_SIZE" description="X1_BUF_SIZE" start="8" size="8" />
    </Register>
    <Register name="YBUFCFG" description="FMAC Y Buffer Configuration register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="Y_BASE" description="X1_BASE" start="0" size="8" />
      <BitField name="Y_BUF_SIZE" description="X1_BUF_SIZE" start="8" size="8" />
      <BitField name="EMPTY_WM" description="EMPTY_WM" start="24" size="2" />
    </Register>
    <Register name="PARAM" description="FMAC Parameter register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="START" description="START" start="31" size="1" />
      <BitField name="FUNC" description="FUNC" start="24" size="7" />
      <BitField name="R" description="R" start="16" size="8" />
      <BitField name="Q" description="Q" start="8" size="8" />
      <BitField name="P" description="P" start="0" size="8" />
    </Register>
    <Register name="CR" description="FMAC Control register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RESET" description="RESET" start="16" size="1" />
      <BitField name="CLIPEN" description="CLIPEN" start="15" size="1" />
      <BitField name="DMAWEN" description="DMAWEN" start="9" size="1" />
      <BitField name="DMAREN" description="DMAREN" start="8" size="1" />
      <BitField name="SATIEN" description="SATIEN" start="4" size="1" />
      <BitField name="UNFLIEN" description="UNFLIEN" start="3" size="1" />
      <BitField name="OVFLIEN" description="OVFLIEN" start="2" size="1" />
      <BitField name="WIEN" description="WIEN" start="1" size="1" />
      <BitField name="RIEN" description="RIEN" start="0" size="1" />
    </Register>
    <Register name="SR" description="FMAC Status register" start="+0x14" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="YEMPTY" description="YEMPTY" start="0" size="1" />
      <BitField name="X1FULL" description="X1FULL" start="1" size="1" />
      <BitField name="OVFL" description="OVFL" start="8" size="1" />
      <BitField name="UNFL" description="UNFL" start="9" size="1" />
      <BitField name="SAT" description="SAT" start="10" size="1" />
    </Register>
    <Register name="WDATA" description="FMAC Write Data register" start="+0x18" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="WDATA" description="WDATA" start="0" size="16" />
    </Register>
    <Register name="RDATA" description="FMAC Read Data register" start="+0x1C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RDATA" description="RDATA" start="0" size="16" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="CORDIC" description="CORDIC Co-processor" start="0x40020C00">
    <Register name="CSR" description="CORDIC Control Status register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="FUNC" description="FUNC" start="0" size="4" />
      <BitField name="PRECISION" description="PRECISION" start="4" size="4" />
      <BitField name="SCALE" description="SCALE" start="8" size="3" />
      <BitField name="IEN" description="IEN" start="16" size="1" />
      <BitField name="DMAREN" description="DMAREN" start="17" size="1" />
      <BitField name="DMAWEN" description="DMAWEN" start="18" size="1" />
      <BitField name="NRES" description="NRES" start="19" size="1" />
      <BitField name="NARGS" description="NARGS" start="20" size="1" />
      <BitField name="RESSIZE" description="RESSIZE" start="21" size="1" />
      <BitField name="ARGSIZE" description="ARGSIZE" start="22" size="1" />
      <BitField name="RRDY" description="RRDY" start="31" size="1" />
    </Register>
    <Register name="WDATA" description="FMAC Write Data register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ARG" description="ARG" start="0" size="32" />
    </Register>
    <Register name="RDATA" description="FMAC Read Data register" start="+0x8" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RES" description="RES" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="SAI" description="Serial audio interface" start="0x40015400">
    <Register name="BCR1" description="BConfiguration register 1" start="+0x24" size="4" access="Read/Write" reset_value="0x00000040" reset_mask="0xFFFFFFFF">
      <BitField name="MCKEN" description="MCKEN" start="27" size="1" />
      <BitField name="OSR" description="OSR" start="26" size="1" />
      <BitField name="MCJDIV" description="Master clock divider" start="20" size="6" />
      <BitField name="NODIV" description="No divider" start="19" size="1" />
      <BitField name="DMAEN" description="DMA enable" start="17" size="1" />
      <BitField name="SAIBEN" description="Audio block B enable" start="16" size="1" />
      <BitField name="OutDri" description="Output drive" start="13" size="1" />
      <BitField name="MONO" description="Mono mode" start="12" size="1" />
      <BitField name="SYNCEN" description="Synchronization enable" start="10" size="2" />
      <BitField name="CKSTR" description="Clock strobing edge" start="9" size="1" />
      <BitField name="LSBFIRST" description="Least significant bit first" start="8" size="1" />
      <BitField name="DS" description="Data size" start="5" size="3" />
      <BitField name="PRTCFG" description="Protocol configuration" start="2" size="2" />
      <BitField name="MODE" description="Audio block mode" start="0" size="2" />
    </Register>
    <Register name="BCR2" description="BConfiguration register 2" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="COMP" description="Companding mode" start="14" size="2" />
      <BitField name="CPL" description="Complement bit" start="13" size="1" />
      <BitField name="MUTECN" description="Mute counter" start="7" size="6" />
      <BitField name="MUTEVAL" description="Mute value" start="6" size="1" />
      <BitField name="MUTE" description="Mute" start="5" size="1" />
      <BitField name="TRIS" description="Tristate management on data line" start="4" size="1" />
      <BitField name="FFLUS" description="FIFO flush" start="3" size="1" />
      <BitField name="FTH" description="FIFO threshold" start="0" size="3" />
    </Register>
    <Register name="BFRCR" description="BFRCR" start="+0x2C" size="4" access="Read/Write" reset_value="0x00000007" reset_mask="0xFFFFFFFF">
      <BitField name="FSOFF" description="Frame synchronization offset" start="18" size="1" />
      <BitField name="FSPOL" description="Frame synchronization polarity" start="17" size="1" />
      <BitField name="FSDEF" description="Frame synchronization definition" start="16" size="1" />
      <BitField name="FSALL" description="Frame synchronization active level length" start="8" size="7" />
      <BitField name="FRL" description="Frame length" start="0" size="8" />
    </Register>
    <Register name="BSLOTR" description="BSlot register" start="+0x30" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SLOTEN" description="Slot enable" start="16" size="16" />
      <BitField name="NBSLOT" description="Number of slots in an audio frame" start="8" size="4" />
      <BitField name="SLOTSZ" description="Slot size" start="6" size="2" />
      <BitField name="FBOFF" description="First bit offset" start="0" size="5" />
    </Register>
    <Register name="BIM" description="BInterrupt mask register2" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LFSDETIE" description="Late frame synchronization detection interrupt enable" start="6" size="1" />
      <BitField name="AFSDETIE" description="Anticipated frame synchronization detection interrupt enable" start="5" size="1" />
      <BitField name="CNRDYIE" description="Codec not ready interrupt enable" start="4" size="1" />
      <BitField name="FREQIE" description="FIFO request interrupt enable" start="3" size="1" />
      <BitField name="WCKCFG" description="Wrong clock configuration interrupt enable" start="2" size="1" />
      <BitField name="MUTEDET" description="Mute detection interrupt enable" start="1" size="1" />
      <BitField name="OVRUDRIE" description="Overrun/underrun interrupt enable" start="0" size="1" />
    </Register>
    <Register name="BSR" description="BStatus register" start="+0x38" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="FLVL" description="FIFO level threshold" start="16" size="3" />
      <BitField name="LFSDET" description="Late frame synchronization detection" start="6" size="1" />
      <BitField name="AFSDET" description="Anticipated frame synchronization detection" start="5" size="1" />
      <BitField name="CNRDY" description="Codec not ready" start="4" size="1" />
      <BitField name="FREQ" description="FIFO request" start="3" size="1" />
      <BitField name="WCKCFG" description="Wrong clock configuration flag" start="2" size="1" />
      <BitField name="MUTEDET" description="Mute detection" start="1" size="1" />
      <BitField name="OVRUDR" description="Overrun / underrun" start="0" size="1" />
    </Register>
    <Register name="BCLRFR" description="BClear flag register" start="+0x3C" size="4" access="WriteOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LFSDET" description="Clear late frame synchronization detection flag" start="6" size="1" />
      <BitField name="CAFSDET" description="Clear anticipated frame synchronization detection flag" start="5" size="1" />
      <BitField name="CNRDY" description="Clear codec not ready flag" start="4" size="1" />
      <BitField name="WCKCFG" description="Clear wrong clock configuration flag" start="2" size="1" />
      <BitField name="MUTEDET" description="Mute detection flag" start="1" size="1" />
      <BitField name="OVRUDR" description="Clear overrun / underrun" start="0" size="1" />
    </Register>
    <Register name="BDR" description="BData register" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DATA" description="Data" start="0" size="32" />
    </Register>
    <Register name="ACR1" description="AConfiguration register 1" start="+0x4" size="4" access="Read/Write" reset_value="0x00000040" reset_mask="0xFFFFFFFF">
      <BitField name="MCKEN" description="MCKEN" start="27" size="1" />
      <BitField name="OSR" description="OSR" start="26" size="1" />
      <BitField name="MCJDIV" description="Master clock divider" start="20" size="6" />
      <BitField name="NODIV" description="No divider" start="19" size="1" />
      <BitField name="DMAEN" description="DMA enable" start="17" size="1" />
      <BitField name="SAIAEN" description="Audio block A enable" start="16" size="1" />
      <BitField name="OutDri" description="Output drive" start="13" size="1" />
      <BitField name="MONO" description="Mono mode" start="12" size="1" />
      <BitField name="SYNCEN" description="Synchronization enable" start="10" size="2" />
      <BitField name="CKSTR" description="Clock strobing edge" start="9" size="1" />
      <BitField name="LSBFIRST" description="Least significant bit first" start="8" size="1" />
      <BitField name="DS" description="Data size" start="5" size="3" />
      <BitField name="PRTCFG" description="Protocol configuration" start="2" size="2" />
      <BitField name="MODE" description="Audio block mode" start="0" size="2" />
    </Register>
    <Register name="ACR2" description="AConfiguration register 2" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="COMP" description="Companding mode" start="14" size="2" />
      <BitField name="CPL" description="Complement bit" start="13" size="1" />
      <BitField name="MUTECN" description="Mute counter" start="7" size="6" />
      <BitField name="MUTEVAL" description="Mute value" start="6" size="1" />
      <BitField name="MUTE" description="Mute" start="5" size="1" />
      <BitField name="TRIS" description="Tristate management on data line" start="4" size="1" />
      <BitField name="FFLUS" description="FIFO flush" start="3" size="1" />
      <BitField name="FTH" description="FIFO threshold" start="0" size="3" />
    </Register>
    <Register name="AFRCR" description="AFRCR" start="+0xC" size="4" access="Read/Write" reset_value="0x00000007" reset_mask="0xFFFFFFFF">
      <BitField name="FSOFF" description="Frame synchronization offset" start="18" size="1" />
      <BitField name="FSPOL" description="Frame synchronization polarity" start="17" size="1" />
      <BitField name="FSDEF" description="Frame synchronization definition" start="16" size="1" />
      <BitField name="FSALL" description="Frame synchronization active level length" start="8" size="7" />
      <BitField name="FRL" description="Frame length" start="0" size="8" />
    </Register>
    <Register name="ASLOTR" description="ASlot register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SLOTEN" description="Slot enable" start="16" size="16" />
      <BitField name="NBSLOT" description="Number of slots in an audio frame" start="8" size="4" />
      <BitField name="SLOTSZ" description="Slot size" start="6" size="2" />
      <BitField name="FBOFF" description="First bit offset" start="0" size="5" />
    </Register>
    <Register name="AIM" description="AInterrupt mask register2" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LFSDET" description="Late frame synchronization detection interrupt enable" start="6" size="1" />
      <BitField name="AFSDETIE" description="Anticipated frame synchronization detection interrupt enable" start="5" size="1" />
      <BitField name="CNRDYIE" description="Codec not ready interrupt enable" start="4" size="1" />
      <BitField name="FREQIE" description="FIFO request interrupt enable" start="3" size="1" />
      <BitField name="WCKCFG" description="Wrong clock configuration interrupt enable" start="2" size="1" />
      <BitField name="MUTEDET" description="Mute detection interrupt enable" start="1" size="1" />
      <BitField name="OVRUDRIE" description="Overrun/underrun interrupt enable" start="0" size="1" />
    </Register>
    <Register name="ASR" description="AStatus register" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="FLVL" description="FIFO level threshold" start="16" size="3" />
      <BitField name="LFSDET" description="Late frame synchronization detection" start="6" size="1" />
      <BitField name="AFSDET" description="Anticipated frame synchronization detection" start="5" size="1" />
      <BitField name="CNRDY" description="Codec not ready" start="4" size="1" />
      <BitField name="FREQ" description="FIFO request" start="3" size="1" />
      <BitField name="WCKCFG" description="Wrong clock configuration flag. This bit is read only" start="2" size="1" />
      <BitField name="MUTEDET" description="Mute detection" start="1" size="1" />
      <BitField name="OVRUDR" description="Overrun / underrun" start="0" size="1" />
    </Register>
    <Register name="ACLRFR" description="AClear flag register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LFSDET" description="Clear late frame synchronization detection flag" start="6" size="1" />
      <BitField name="CAFSDET" description="Clear anticipated frame synchronization detection flag" start="5" size="1" />
      <BitField name="CNRDY" description="Clear codec not ready flag" start="4" size="1" />
      <BitField name="WCKCFG" description="Clear wrong clock configuration flag" start="2" size="1" />
      <BitField name="MUTEDET" description="Mute detection flag" start="1" size="1" />
      <BitField name="OVRUDR" description="Clear overrun / underrun" start="0" size="1" />
    </Register>
    <Register name="ADR" description="AData register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DATA" description="Data" start="0" size="32" />
    </Register>
    <Register name="PDMCR" description="PDM control register" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PDMEN" description="PDMEN" start="0" size="1" />
      <BitField name="MICNBR" description="MICNBR" start="4" size="2" />
      <BitField name="CKEN1" description="CKEN1" start="8" size="1" />
      <BitField name="CKEN2" description="CKEN2" start="9" size="1" />
      <BitField name="CKEN3" description="CKEN3" start="10" size="1" />
      <BitField name="CKEN4" description="CKEN4" start="11" size="1" />
    </Register>
    <Register name="PDMDLY" description="PDM delay register" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DLYM1L" description="DLYM1L" start="0" size="3" />
      <BitField name="DLYM1R" description="DLYM1R" start="4" size="3" />
      <BitField name="DLYM2L" description="DLYM2L" start="8" size="3" />
      <BitField name="DLYM2R" description="DLYM2R" start="12" size="3" />
      <BitField name="DLYM3L" description="DLYM3L" start="16" size="3" />
      <BitField name="DLYM3R" description="DLYM3R" start="20" size="3" />
      <BitField name="DLYM4L" description="DLYM4L" start="24" size="3" />
      <BitField name="DLYM4R" description="DLYM4R" start="28" size="3" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TAMP" description="Tamper and backup registers" start="0x40002400">
    <Register name="CR1" description="control register 1" start="+0x0" size="4" access="Read/Write" reset_value="0xFFFF0000" reset_mask="0xFFFFFFFF">
      <BitField name="TAMP1E" description="TAMP1E" start="0" size="1" />
      <BitField name="TAMP2E" description="TAMP2E" start="1" size="1" />
      <BitField name="TAMP3E" description="TAMP2E" start="2" size="1" />
      <BitField name="ITAMP3E" description="ITAMP3E" start="18" size="1" />
      <BitField name="ITAMP4E" description="ITAMP4E" start="19" size="1" />
      <BitField name="ITAMP5E" description="ITAMP5E" start="20" size="1" />
      <BitField name="ITAMP6E" description="ITAMP6E" start="21" size="1" />
    </Register>
    <Register name="CR2" description="control register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TAMP1NOER" description="TAMP1NOER" start="0" size="1" />
      <BitField name="TAMP2NOER" description="TAMP2NOER" start="1" size="1" />
      <BitField name="TAMP3NOER" description="TAMP3NOER" start="2" size="1" />
      <BitField name="TAMP1MSK" description="TAMP1MSK" start="16" size="1" />
      <BitField name="TAMP2MSK" description="TAMP2MSK" start="17" size="1" />
      <BitField name="TAMP3MSK" description="TAMP3MSK" start="18" size="1" />
      <BitField name="TAMP1TRG" description="TAMP1TRG" start="24" size="1" />
      <BitField name="TAMP2TRG" description="TAMP2TRG" start="25" size="1" />
      <BitField name="TAMP3TRG" description="TAMP3TRG" start="26" size="1" />
    </Register>
    <Register name="FLTCR" description="TAMP filter control register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TAMPFREQ" description="TAMPFREQ" start="0" size="3" />
      <BitField name="TAMPFLT" description="TAMPFLT" start="3" size="2" />
      <BitField name="TAMPPRCH" description="TAMPPRCH" start="5" size="2" />
      <BitField name="TAMPPUDIS" description="TAMPPUDIS" start="7" size="1" />
    </Register>
    <Register name="IER" description="TAMP interrupt enable register" start="+0x2C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TAMP1IE" description="TAMP1IE" start="0" size="1" />
      <BitField name="TAMP2IE" description="TAMP2IE" start="1" size="1" />
      <BitField name="TAMP3IE" description="TAMP3IE" start="2" size="1" />
      <BitField name="ITAMP3IE" description="ITAMP3IE" start="18" size="1" />
      <BitField name="ITAMP4IE" description="ITAMP4IE" start="19" size="1" />
      <BitField name="ITAMP5IE" description="ITAMP5IE" start="20" size="1" />
      <BitField name="ITAMP6IE" description="ITAMP6IE" start="21" size="1" />
    </Register>
    <Register name="SR" description="TAMP status register" start="+0x30" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TAMP1F" description="TAMP1F" start="0" size="1" />
      <BitField name="TAMP2F" description="TAMP2F" start="1" size="1" />
      <BitField name="TAMP3F" description="TAMP3F" start="2" size="1" />
      <BitField name="ITAMP3F" description="ITAMP3F" start="18" size="1" />
      <BitField name="ITAMP4F" description="ITAMP4F" start="19" size="1" />
      <BitField name="ITAMP5F" description="ITAMP5F" start="20" size="1" />
      <BitField name="ITAMP6F" description="ITAMP6F" start="21" size="1" />
    </Register>
    <Register name="MISR" description="TAMP masked interrupt status register" start="+0x34" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TAMP1MF" description="TAMP1MF:" start="0" size="1" />
      <BitField name="TAMP2MF" description="TAMP2MF" start="1" size="1" />
      <BitField name="TAMP3MF" description="TAMP3MF" start="2" size="1" />
      <BitField name="ITAMP3MF" description="ITAMP3MF" start="18" size="1" />
      <BitField name="ITAMP4MF" description="ITAMP4MF" start="19" size="1" />
      <BitField name="ITAMP5MF" description="ITAMP5MF" start="20" size="1" />
      <BitField name="ITAMP6MF" description="ITAMP6MF" start="21" size="1" />
    </Register>
    <Register name="SCR" description="TAMP status clear register" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CTAMP1F" description="CTAMP1F" start="0" size="1" />
      <BitField name="CTAMP2F" description="CTAMP2F" start="1" size="1" />
      <BitField name="CTAMP3F" description="CTAMP3F" start="2" size="1" />
      <BitField name="CITAMP3F" description="CITAMP3F" start="18" size="1" />
      <BitField name="CITAMP4F" description="CITAMP4F" start="19" size="1" />
      <BitField name="CITAMP5F" description="CITAMP5F" start="20" size="1" />
      <BitField name="CITAMP6F" description="CITAMP6F" start="21" size="1" />
    </Register>
    <Register name="BKP0R" description="TAMP backup register" start="+0x100" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP1R" description="TAMP backup register" start="+0x104" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP2R" description="TAMP backup register" start="+0x108" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP3R" description="TAMP backup register" start="+0x10C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP4R" description="TAMP backup register" start="+0x110" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP5R" description="TAMP backup register" start="+0x114" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP6R" description="TAMP backup register" start="+0x118" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP7R" description="TAMP backup register" start="+0x11C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP8R" description="TAMP backup register" start="+0x120" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP9R" description="TAMP backup register" start="+0x124" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP10R" description="TAMP backup register" start="+0x128" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP11R" description="TAMP backup register" start="+0x12C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP12R" description="TAMP backup register" start="+0x130" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP13R" description="TAMP backup register" start="+0x134" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP14R" description="TAMP backup register" start="+0x138" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP15R" description="TAMP backup register" start="+0x13C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP16R" description="TAMP backup register" start="+0x140" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP17R" description="TAMP backup register" start="+0x144" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP18R" description="TAMP backup register" start="+0x148" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP19R" description="TAMP backup register" start="+0x14C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP20R" description="TAMP backup register" start="+0x150" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP21R" description="TAMP backup register" start="+0x154" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP22R" description="TAMP backup register" start="+0x158" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP23R" description="TAMP backup register" start="+0x15C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP24R" description="TAMP backup register" start="+0x160" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP25R" description="TAMP backup register" start="+0x164" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP26R" description="TAMP backup register" start="+0x168" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP27R" description="TAMP backup register" start="+0x16C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP28R" description="TAMP backup register" start="+0x170" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP29R" description="TAMP backup register" start="+0x174" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP30R" description="TAMP backup register" start="+0x178" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
    <Register name="BKP31R" description="TAMP backup register" start="+0x17C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BKP" description="BKP" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="FPU" description="Floting point unit" start="0xE000EF34">
    <Register name="FPCCR" description="Floating-point context control register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LSPACT" description="LSPACT" start="0" size="1" />
      <BitField name="USER" description="USER" start="1" size="1" />
      <BitField name="THREAD" description="THREAD" start="3" size="1" />
      <BitField name="HFRDY" description="HFRDY" start="4" size="1" />
      <BitField name="MMRDY" description="MMRDY" start="5" size="1" />
      <BitField name="BFRDY" description="BFRDY" start="6" size="1" />
      <BitField name="MONRDY" description="MONRDY" start="8" size="1" />
      <BitField name="LSPEN" description="LSPEN" start="30" size="1" />
      <BitField name="ASPEN" description="ASPEN" start="31" size="1" />
    </Register>
    <Register name="FPCAR" description="Floating-point context address register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ADDRESS" description="Location of unpopulated floating-point" start="3" size="29" />
    </Register>
    <Register name="FPSCR" description="Floating-point status control register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IOC" description="Invalid operation cumulative exception bit" start="0" size="1" />
      <BitField name="DZC" description="Division by zero cumulative exception bit." start="1" size="1" />
      <BitField name="OFC" description="Overflow cumulative exception bit" start="2" size="1" />
      <BitField name="UFC" description="Underflow cumulative exception bit" start="3" size="1" />
      <BitField name="IXC" description="Inexact cumulative exception bit" start="4" size="1" />
      <BitField name="IDC" description="Input denormal cumulative exception bit." start="7" size="1" />
      <BitField name="RMode" description="Rounding Mode control field" start="22" size="2" />
      <BitField name="FZ" description="Flush-to-zero mode control bit:" start="24" size="1" />
      <BitField name="DN" description="Default NaN mode control bit" start="25" size="1" />
      <BitField name="AHP" description="Alternative half-precision control bit" start="26" size="1" />
      <BitField name="V" description="Overflow condition code flag" start="28" size="1" />
      <BitField name="C" description="Carry condition code flag" start="29" size="1" />
      <BitField name="Z" description="Zero condition code flag" start="30" size="1" />
      <BitField name="N" description="Negative condition code flag" start="31" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="MPU" description="Memory protection unit" start="0xE000E084">
    <Register name="TYPER" description="MPU type register" start="+0x0" size="4" access="ReadOnly" reset_value="0X00000800" reset_mask="0xFFFFFFFF">
      <BitField name="SEPARATE" description="Separate flag" start="0" size="1" />
      <BitField name="DREGION" description="Number of MPU data regions" start="8" size="8" />
      <BitField name="IREGION" description="Number of MPU instruction regions" start="16" size="8" />
    </Register>
    <Register name="CTRL" description="MPU control register" start="+0x4" size="4" access="Read/Write" reset_value="0X00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ENABLE" description="Enables the MPU" start="0" size="1" />
      <BitField name="HFNMIENA" description="Enables the operation of MPU during hard fault" start="1" size="1" />
      <BitField name="PRIVDEFENA" description="Enable priviliged software access to default memory map" start="2" size="1" />
    </Register>
    <Register name="RNR" description="MPU region number register" start="+0x8" size="4" access="Read/Write" reset_value="0X00000000" reset_mask="0xFFFFFFFF">
      <BitField name="REGION" description="MPU region" start="0" size="8" />
    </Register>
    <Register name="RBAR" description="MPU region base address register" start="+0xC" size="4" access="Read/Write" reset_value="0X00000000" reset_mask="0xFFFFFFFF">
      <BitField name="REGION" description="MPU region field" start="0" size="4" />
      <BitField name="VALID" description="MPU region number valid" start="4" size="1" />
      <BitField name="ADDR" description="Region base address field" start="5" size="27" />
    </Register>
    <Register name="RASR" description="MPU region attribute and size register" start="+0x10" size="4" access="Read/Write" reset_value="0X00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ENABLE" description="Region enable bit." start="0" size="1" />
      <BitField name="SIZE" description="Size of the MPU protection region" start="1" size="5" />
      <BitField name="SRD" description="Subregion disable bits" start="8" size="8" />
      <BitField name="B" description="memory attribute" start="16" size="1" />
      <BitField name="C" description="memory attribute" start="17" size="1" />
      <BitField name="S" description="Shareable memory attribute" start="18" size="1" />
      <BitField name="TEX" description="memory attribute" start="19" size="3" />
      <BitField name="AP" description="Access permission" start="24" size="3" />
      <BitField name="XN" description="Instruction access disable bit" start="28" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="STK" description="SysTick timer" start="0xE000E010">
    <Register name="CTRL" description="SysTick control and status register" start="+0x0" size="4" access="Read/Write" reset_value="0X00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ENABLE" description="Counter enable" start="0" size="1" />
      <BitField name="TICKINT" description="SysTick exception request enable" start="1" size="1" />
      <BitField name="CLKSOURCE" description="Clock source selection" start="2" size="1" />
      <BitField name="COUNTFLAG" description="COUNTFLAG" start="16" size="1" />
    </Register>
    <Register name="LOAD" description="SysTick reload value register" start="+0x4" size="4" access="Read/Write" reset_value="0X00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RELOAD" description="RELOAD value" start="0" size="24" />
    </Register>
    <Register name="VAL" description="SysTick current value register" start="+0x8" size="4" access="Read/Write" reset_value="0X00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CURRENT" description="Current counter value" start="0" size="24" />
    </Register>
    <Register name="CALIB" description="SysTick calibration value register" start="+0xC" size="4" access="Read/Write" reset_value="0X00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TENMS" description="Calibration value" start="0" size="24" />
      <BitField name="SKEW" description="SKEW flag: Indicates whether the TENMS value is exact" start="30" size="1" />
      <BitField name="NOREF" description="NOREF flag. Reads as zero" start="31" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="SCB" description="System control block" start="0xE000ED00">
    <Register name="CPUID" description="CPUID base register" start="+0x0" size="4" access="ReadOnly" reset_value="0x410FC241" reset_mask="0xFFFFFFFF">
      <BitField name="Revision" description="Revision number" start="0" size="4" />
      <BitField name="PartNo" description="Part number of the processor" start="4" size="12" />
      <BitField name="Constant" description="Reads as 0xF" start="16" size="4" />
      <BitField name="Variant" description="Variant number" start="20" size="4" />
      <BitField name="Implementer" description="Implementer code" start="24" size="8" />
    </Register>
    <Register name="ICSR" description="Interrupt control and state register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="VECTACTIVE" description="Active vector" start="0" size="9" />
      <BitField name="RETTOBASE" description="Return to base level" start="11" size="1" />
      <BitField name="VECTPENDING" description="Pending vector" start="12" size="7" />
      <BitField name="ISRPENDING" description="Interrupt pending flag" start="22" size="1" />
      <BitField name="PENDSTCLR" description="SysTick exception clear-pending bit" start="25" size="1" />
      <BitField name="PENDSTSET" description="SysTick exception set-pending bit" start="26" size="1" />
      <BitField name="PENDSVCLR" description="PendSV clear-pending bit" start="27" size="1" />
      <BitField name="PENDSVSET" description="PendSV set-pending bit" start="28" size="1" />
      <BitField name="NMIPENDSET" description="NMI set-pending bit." start="31" size="1" />
    </Register>
    <Register name="VTOR" description="Vector table offset register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TBLOFF" description="Vector table base offset field" start="9" size="21" />
    </Register>
    <Register name="AIRCR" description="Application interrupt and reset control register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="VECTRESET" description="VECTRESET" start="0" size="1" />
      <BitField name="VECTCLRACTIVE" description="VECTCLRACTIVE" start="1" size="1" />
      <BitField name="SYSRESETREQ" description="SYSRESETREQ" start="2" size="1" />
      <BitField name="PRIGROUP" description="PRIGROUP" start="8" size="3" />
      <BitField name="ENDIANESS" description="ENDIANESS" start="15" size="1" />
      <BitField name="VECTKEYSTAT" description="Register key" start="16" size="16" />
    </Register>
    <Register name="SCR" description="System control register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SLEEPONEXIT" description="SLEEPONEXIT" start="1" size="1" />
      <BitField name="SLEEPDEEP" description="SLEEPDEEP" start="2" size="1" />
      <BitField name="SEVEONPEND" description="Send Event on Pending bit" start="4" size="1" />
    </Register>
    <Register name="CCR" description="Configuration and control register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="NONBASETHRDENA" description="Configures how the processor enters Thread mode" start="0" size="1" />
      <BitField name="USERSETMPEND" description="USERSETMPEND" start="1" size="1" />
      <BitField name="UNALIGN__TRP" description="UNALIGN_ TRP" start="3" size="1" />
      <BitField name="DIV_0_TRP" description="DIV_0_TRP" start="4" size="1" />
      <BitField name="BFHFNMIGN" description="BFHFNMIGN" start="8" size="1" />
      <BitField name="STKALIGN" description="STKALIGN" start="9" size="1" />
    </Register>
    <Register name="SHPR1" description="System handler priority registers" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PRI_4" description="Priority of system handler 4" start="0" size="8" />
      <BitField name="PRI_5" description="Priority of system handler 5" start="8" size="8" />
      <BitField name="PRI_6" description="Priority of system handler 6" start="16" size="8" />
    </Register>
    <Register name="SHPR2" description="System handler priority registers" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PRI_11" description="Priority of system handler 11" start="24" size="8" />
    </Register>
    <Register name="SHPR3" description="System handler priority registers" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PRI_14" description="Priority of system handler 14" start="16" size="8" />
      <BitField name="PRI_15" description="Priority of system handler 15" start="24" size="8" />
    </Register>
    <Register name="SHCSR" description="System handler control and state register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MEMFAULTACT" description="Memory management fault exception active bit" start="0" size="1" />
      <BitField name="BUSFAULTACT" description="Bus fault exception active bit" start="1" size="1" />
      <BitField name="USGFAULTACT" description="Usage fault exception active bit" start="3" size="1" />
      <BitField name="SVCALLACT" description="SVC call active bit" start="7" size="1" />
      <BitField name="MONITORACT" description="Debug monitor active bit" start="8" size="1" />
      <BitField name="PENDSVACT" description="PendSV exception active bit" start="10" size="1" />
      <BitField name="SYSTICKACT" description="SysTick exception active bit" start="11" size="1" />
      <BitField name="USGFAULTPENDED" description="Usage fault exception pending bit" start="12" size="1" />
      <BitField name="MEMFAULTPENDED" description="Memory management fault exception pending bit" start="13" size="1" />
      <BitField name="BUSFAULTPENDED" description="Bus fault exception pending bit" start="14" size="1" />
      <BitField name="SVCALLPENDED" description="SVC call pending bit" start="15" size="1" />
      <BitField name="MEMFAULTENA" description="Memory management fault enable bit" start="16" size="1" />
      <BitField name="BUSFAULTENA" description="Bus fault enable bit" start="17" size="1" />
      <BitField name="USGFAULTENA" description="Usage fault enable bit" start="18" size="1" />
    </Register>
    <Register name="CFSR_UFSR_BFSR_MMFSR" description="Configurable fault status register" start="+0x28" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IACCVIOL" description="Instruction access violation flag" start="1" size="1" />
      <BitField name="MUNSTKERR" description="Memory manager fault on unstacking for a return from exception" start="3" size="1" />
      <BitField name="MSTKERR" description="Memory manager fault on stacking for exception entry." start="4" size="1" />
      <BitField name="MLSPERR" description="MLSPERR" start="5" size="1" />
      <BitField name="MMARVALID" description="Memory Management Fault Address Register (MMAR) valid flag" start="7" size="1" />
      <BitField name="IBUSERR" description="Instruction bus error" start="8" size="1" />
      <BitField name="PRECISERR" description="Precise data bus error" start="9" size="1" />
      <BitField name="IMPRECISERR" description="Imprecise data bus error" start="10" size="1" />
      <BitField name="UNSTKERR" description="Bus fault on unstacking for a return from exception" start="11" size="1" />
      <BitField name="STKERR" description="Bus fault on stacking for exception entry" start="12" size="1" />
      <BitField name="LSPERR" description="Bus fault on floating-point lazy state preservation" start="13" size="1" />
      <BitField name="BFARVALID" description="Bus Fault Address Register (BFAR) valid flag" start="15" size="1" />
      <BitField name="UNDEFINSTR" description="Undefined instruction usage fault" start="16" size="1" />
      <BitField name="INVSTATE" description="Invalid state usage fault" start="17" size="1" />
      <BitField name="INVPC" description="Invalid PC load usage fault" start="18" size="1" />
      <BitField name="NOCP" description="No coprocessor usage fault." start="19" size="1" />
      <BitField name="UNALIGNED" description="Unaligned access usage fault" start="24" size="1" />
      <BitField name="DIVBYZERO" description="Divide by zero usage fault" start="25" size="1" />
    </Register>
    <Register name="HFSR" description="Hard fault status register" start="+0x2C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="VECTTBL" description="Vector table hard fault" start="1" size="1" />
      <BitField name="FORCED" description="Forced hard fault" start="30" size="1" />
      <BitField name="DEBUG_VT" description="Reserved for Debug use" start="31" size="1" />
    </Register>
    <Register name="MMFAR" description="Memory management fault address register" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="MMFAR" description="Memory management fault address" start="0" size="32" />
    </Register>
    <Register name="BFAR" description="Bus fault address register" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BFAR" description="Bus fault address" start="0" size="32" />
    </Register>
    <Register name="AFSR" description="Auxiliary fault status register" start="+0x3C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IMPDEF" description="Implementation defined" start="0" size="32" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="NVIC" description="Nested Vectored Interrupt Controller" start="0xE000E100">
    <Register name="ISER0" description="Interrupt Set-Enable Register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SETENA" description="SETENA" start="0" size="32" />
    </Register>
    <Register name="ISER1" description="Interrupt Set-Enable Register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SETENA" description="SETENA" start="0" size="32" />
    </Register>
    <Register name="ISER2" description="Interrupt Set-Enable Register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SETENA" description="SETENA" start="0" size="32" />
    </Register>
    <Register name="ISER3" description="Interrupt Set-Enable Register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SETENA" description="SETENA" start="0" size="32" />
    </Register>
    <Register name="ICER0" description="Interrupt Clear-Enable Register" start="+0x80" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CLRENA" description="CLRENA" start="0" size="32" />
    </Register>
    <Register name="ICER1" description="Interrupt Clear-Enable Register" start="+0x84" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CLRENA" description="CLRENA" start="0" size="32" />
    </Register>
    <Register name="ICER2" description="Interrupt Clear-Enable Register" start="+0x88" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CLRENA" description="CLRENA" start="0" size="32" />
    </Register>
    <Register name="ICER3" description="Interrupt Clear-Enable Register" start="+0x8C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CLRENA" description="CLRENA" start="0" size="32" />
    </Register>
    <Register name="ISPR0" description="Interrupt Set-Pending Register" start="+0x100" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SETPEND" description="SETPEND" start="0" size="32" />
    </Register>
    <Register name="ISPR1" description="Interrupt Set-Pending Register" start="+0x104" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SETPEND" description="SETPEND" start="0" size="32" />
    </Register>
    <Register name="ISPR2" description="Interrupt Set-Pending Register" start="+0x108" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SETPEND" description="SETPEND" start="0" size="32" />
    </Register>
    <Register name="ISPR3" description="Interrupt Set-Pending Register" start="+0x10C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SETPEND" description="SETPEND" start="0" size="32" />
    </Register>
    <Register name="ICPR0" description="Interrupt Clear-Pending Register" start="+0x180" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CLRPEND" description="CLRPEND" start="0" size="32" />
    </Register>
    <Register name="ICPR1" description="Interrupt Clear-Pending Register" start="+0x184" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CLRPEND" description="CLRPEND" start="0" size="32" />
    </Register>
    <Register name="ICPR2" description="Interrupt Clear-Pending Register" start="+0x188" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CLRPEND" description="CLRPEND" start="0" size="32" />
    </Register>
    <Register name="ICPR3" description="Interrupt Clear-Pending Register" start="+0x18C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CLRPEND" description="CLRPEND" start="0" size="32" />
    </Register>
    <Register name="IABR0" description="Interrupt Active Bit Register" start="+0x200" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ACTIVE" description="ACTIVE" start="0" size="32" />
    </Register>
    <Register name="IABR1" description="Interrupt Active Bit Register" start="+0x204" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ACTIVE" description="ACTIVE" start="0" size="32" />
    </Register>
    <Register name="IABR2" description="Interrupt Active Bit Register" start="+0x208" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ACTIVE" description="ACTIVE" start="0" size="32" />
    </Register>
    <Register name="IABR3" description="Interrupt Active Bit Register" start="+0x20C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ACTIVE" description="ACTIVE" start="0" size="32" />
    </Register>
    <Register name="IPR0" description="Interrupt Priority Register" start="+0x300" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR1" description="Interrupt Priority Register" start="+0x304" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR2" description="Interrupt Priority Register" start="+0x308" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR3" description="Interrupt Priority Register" start="+0x30C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR4" description="Interrupt Priority Register" start="+0x310" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR5" description="Interrupt Priority Register" start="+0x314" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR6" description="Interrupt Priority Register" start="+0x318" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR7" description="Interrupt Priority Register" start="+0x31C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR8" description="Interrupt Priority Register" start="+0x320" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR9" description="Interrupt Priority Register" start="+0x324" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR10" description="Interrupt Priority Register" start="+0x328" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR11" description="Interrupt Priority Register" start="+0x32C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR12" description="Interrupt Priority Register" start="+0x330" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR13" description="Interrupt Priority Register" start="+0x334" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR14" description="Interrupt Priority Register" start="+0x338" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR15" description="Interrupt Priority Register" start="+0x33C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR16" description="Interrupt Priority Register" start="+0x340" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR17" description="Interrupt Priority Register" start="+0x344" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR18" description="Interrupt Priority Register" start="+0x348" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR19" description="Interrupt Priority Register" start="+0x34C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR20" description="Interrupt Priority Register" start="+0x350" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="IPR_N0" description="IPR_N0" start="0" size="8" />
      <BitField name="IPR_N1" description="IPR_N1" start="8" size="8" />
      <BitField name="IPR_N2" description="IPR_N2" start="16" size="8" />
      <BitField name="IPR_N3" description="IPR_N3" start="24" size="8" />
    </Register>
    <Register name="IPR21" description="Interrupt Priority Register" start="+0x354" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
    <Register name="IPR22" description="Interrupt Priority Register" start="+0x358" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
    <Register name="IPR23" description="Interrupt Priority Register" start="+0x35C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
    <Register name="IPR24" description="Interrupt Priority Register" start="+0x360" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
    <Register name="IPR25" description="Interrupt Priority Register" start="+0x364" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
  </RegisterGroup>
  <RegisterGroup name="NVIC_STIR" description="Nested vectored interrupt controller" start="0xE000EF00">
    <Register name="STIR" description="Software trigger interrupt register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="INTID" description="Software generated interrupt ID" start="0" size="9" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="FPU_CPACR" description="Floating point unit CPACR" start="0xE000ED88">
    <Register name="CPACR" description="Coprocessor access control register" start="+0x0" size="4" access="Read/Write" reset_value="0x0000000" reset_mask="0xFFFFFFFF">
      <BitField name="CP" description="CP" start="20" size="4" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="SCB_ACTLR" description="System control block ACTLR" start="0xE000E008">
    <Register name="ACTRL" description="Auxiliary control register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="DISMCYCINT" description="DISMCYCINT" start="0" size="1" />
      <BitField name="DISDEFWBUF" description="DISDEFWBUF" start="1" size="1" />
      <BitField name="DISFOLD" description="DISFOLD" start="2" size="1" />
      <BitField name="DISFPCA" description="DISFPCA" start="8" size="1" />
      <BitField name="DISOOFP" description="DISOOFP" start="9" size="1" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="FDCAN" description="FDCAN" start="0x4000A400">
    <Register name="CREL" description="FDCAN Core Release Register" start="+0x0" size="4" access="ReadOnly" reset_value="0x32141218" reset_mask="0xFFFFFFFF">
      <BitField name="DAY" description="DAY" start="0" size="8" />
      <BitField name="MON" description="MON" start="8" size="8" />
      <BitField name="YEAR" description="YEAR" start="16" size="4" />
      <BitField name="SUBSTEP" description="SUBSTEP" start="20" size="4" />
      <BitField name="STEP" description="STEP" start="24" size="4" />
      <BitField name="REL" description="REL" start="28" size="4" />
    </Register>
    <Register name="ENDN" description="FDCAN Core Release Register" start="+0x4" size="4" access="ReadOnly" reset_value="0x87654321" reset_mask="0xFFFFFFFF">
      <BitField name="ETV" description="ETV" start="0" size="32" />
    </Register>
    <Register name="DBTP" description="This register is only writable if bits CCCR.CCE and CCCR.INIT are set. The CAN bit time may be programed in the range of 4 to 25 time quanta. The CAN time quantum may be programmed in the range of 1 to 1024 FDCAN clock periods. tq = (DBRP + 1) FDCAN clock period. DTSEG1 is the sum of Prop_Seg and Phase_Seg1. DTSEG2 is Phase_Seg2. Therefore the length of the bit time is (programmed values) [DTSEG1 + DTSEG2 + 3] tq or (functional values) [Sync_Seg + Prop_Seg + Phase_Seg1 + Phase_Seg2] tq. The Information Processing Time (IPT) is zero, meaning the data for the next bit is available at the first clock edge after the sample point." start="+0xC" size="4" reset_value="0x00000A33" reset_mask="0xFFFFFFFF">
      <BitField name="DSJW" description="DSJW" start="0" size="4" access="Read/Write" />
      <BitField name="DTSEG2" description="DTSEG2" start="4" size="4" access="Read/Write" />
      <BitField name="DTSEG1" description="DTSEG1" start="8" size="5" access="Read/Write" />
      <BitField name="DBRP" description="DBRP" start="16" size="5" access="Read/Write" />
      <BitField name="TDC" description="TDC" start="23" size="1" access="Read/Write" />
    </Register>
    <Register name="TEST" description="Write access to the Test Register has to be enabled by setting bit CCCR[TEST] to 1 . All Test Register functions are set to their reset values when bit CCCR[TEST] is reset. Loop Back mode and software control of Tx pin FDCANx_TX are hardware test modes. Programming TX differently from 00 may disturb the message transfer on the CAN bus." start="+0x10" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LBCK" description="LBCK" start="4" size="1" access="Read/Write" />
      <BitField name="TX" description="TX" start="5" size="2" access="Read/Write" />
      <BitField name="RX" description="RX" start="7" size="1" access="ReadOnly" />
    </Register>
    <Register name="RWD" description="The RAM Watchdog monitors the READY output of the Message RAM. A Message RAM access starts the Message RAM Watchdog Counter with the value configured by the RWD[WDC] bits. The counter is reloaded with RWD[WDC] bits when the Message RAM signals successful completion by activating its READY output. In case there is no response from the Message RAM until the counter has counted down to 0, the counter stops and interrupt flag IR[WDI] bit is set. The RAM Watchdog Counter is clocked by the fdcan_pclk clock." start="+0x14" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="WDC" description="WDC" start="0" size="8" access="Read/Write" />
      <BitField name="WDV" description="WDV" start="8" size="8" access="ReadOnly" />
    </Register>
    <Register name="CCCR" description="For details about setting and resetting of single bits see Software initialization." start="+0x18" size="4" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
      <BitField name="INIT" description="INIT" start="0" size="1" access="Read/Write" />
      <BitField name="CCE" description="CCE" start="1" size="1" access="Read/Write" />
      <BitField name="ASM" description="ASM" start="2" size="1" access="Read/Write" />
      <BitField name="CSA" description="CSA" start="3" size="1" access="ReadOnly" />
      <BitField name="CSR" description="CSR" start="4" size="1" access="Read/Write" />
      <BitField name="MON" description="MON" start="5" size="1" access="Read/Write" />
      <BitField name="DAR" description="DAR" start="6" size="1" access="Read/Write" />
      <BitField name="TEST" description="TEST" start="7" size="1" access="Read/Write" />
      <BitField name="FDOE" description="FDOE" start="8" size="1" access="Read/Write" />
      <BitField name="BRSE" description="BRSE" start="9" size="1" access="Read/Write" />
      <BitField name="PXHD" description="PXHD" start="12" size="1" access="Read/Write" />
      <BitField name="EFBI" description="EFBI" start="13" size="1" access="Read/Write" />
      <BitField name="TXP" description="TXP" start="14" size="1" access="Read/Write" />
      <BitField name="NISO" description="NISO" start="15" size="1" access="Read/Write" />
    </Register>
    <Register name="NBTP" description="FDCAN_NBTP" start="+0x1C" size="4" access="Read/Write" reset_value="0x06000A03" reset_mask="0xFFFFFFFF">
      <BitField name="NTSEG2" description="NTSEG2" start="0" size="7" />
      <BitField name="NTSEG1" description="NTSEG1" start="8" size="8" />
      <BitField name="NBRP" description="NBRP" start="16" size="9" />
      <BitField name="NSJW" description="NSJW" start="25" size="7" />
    </Register>
    <Register name="TSCC" description="FDCAN Timestamp Counter Configuration Register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TSS" description="TSS" start="0" size="2" />
      <BitField name="TCP" description="TCP" start="16" size="4" />
    </Register>
    <Register name="TSCV" description="FDCAN Timestamp Counter Value Register" start="+0x24" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TSC" description="TSC" start="0" size="16" />
    </Register>
    <Register name="TOCC" description="FDCAN Timeout Counter Configuration Register" start="+0x28" size="4" reset_value="0xFFFF0000" reset_mask="0xFFFFFFFF">
      <BitField name="ETOC" description="ETOC" start="0" size="1" access="Read/Write" />
      <BitField name="TOS" description="TOS" start="1" size="2" access="Read/Write" />
      <BitField name="TOP" description="TOP" start="16" size="16" access="Read/Write" />
    </Register>
    <Register name="TOCV" description="FDCAN Timeout Counter Value Register" start="+0x2C" size="4" access="ReadOnly" reset_value="0x0000FFFF" reset_mask="0xFFFFFFFF">
      <BitField name="TOC" description="TOC" start="0" size="16" />
    </Register>
    <Register name="ECR" description="FDCAN Error Counter Register" start="+0x40" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TEC" description="TEC" start="0" size="8" />
      <BitField name="REC" description="TREC" start="8" size="7" />
      <BitField name="RP" description="RP" start="15" size="1" />
      <BitField name="CEL" description="CEL" start="16" size="8" />
    </Register>
    <Register name="PSR" description="FDCAN Protocol Status Register" start="+0x44" size="4" reset_value="0x00000707" reset_mask="0xFFFFFFFF">
      <BitField name="LEC" description="LEC" start="0" size="3" access="Read/Write" />
      <BitField name="ACT" description="ACT" start="3" size="2" access="ReadOnly" />
      <BitField name="EP" description="EP" start="5" size="1" access="ReadOnly" />
      <BitField name="EW" description="EW" start="6" size="1" access="ReadOnly" />
      <BitField name="BO" description="BO" start="7" size="1" access="ReadOnly" />
      <BitField name="DLEC" description="DLEC" start="8" size="3" access="Read/Write" />
      <BitField name="RESI" description="RESI" start="11" size="1" access="Read/Write" />
      <BitField name="RBRS" description="RBRS" start="12" size="1" access="Read/Write" />
      <BitField name="REDL" description="REDL" start="13" size="1" access="Read/Write" />
      <BitField name="PXE" description="PXE" start="14" size="1" access="Read/Write" />
      <BitField name="TDCV" description="TDCV" start="16" size="7" access="Read/Write" />
    </Register>
    <Register name="TDCR" description="FDCAN Transmitter Delay Compensation Register" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TDCF" description="TDCF" start="0" size="7" />
      <BitField name="TDCO" description="TDCO" start="8" size="7" />
    </Register>
    <Register name="IR" description="The flags are set when one of the listed conditions is detected (edge-sensitive). The flags remain set until the Host clears them. A flag is cleared by writing a 1 to the corresponding bit position. Writing a 0 has no effect. A hard reset will clear the register. The configuration of IE controls whether an interrupt is generated. The configuration of ILS controls on which interrupt line an interrupt is signaled." start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RF0N" description="RF0N" start="0" size="1" />
      <BitField name="RF0F" description="RF0F" start="1" size="1" />
      <BitField name="RF0L" description="RF0L" start="2" size="1" />
      <BitField name="RF1N" description="RF1N" start="3" size="1" />
      <BitField name="RF1F" description="RF1F" start="4" size="1" />
      <BitField name="RF1L" description="RF1L" start="5" size="1" />
      <BitField name="HPM" description="HPM" start="6" size="1" />
      <BitField name="TC" description="TC" start="7" size="1" />
      <BitField name="TCF" description="TCF" start="8" size="1" />
      <BitField name="TFE" description="TFE" start="9" size="1" />
      <BitField name="TEFN" description="TEFN" start="10" size="1" />
      <BitField name="TEFF" description="TEFF" start="11" size="1" />
      <BitField name="TEFL" description="TEFL" start="12" size="1" />
      <BitField name="TSW" description="TSW" start="13" size="1" />
      <BitField name="MRAF" description="MRAF" start="14" size="1" />
      <BitField name="TOO" description="TOO" start="15" size="1" />
      <BitField name="ELO" description="ELO" start="16" size="1" />
      <BitField name="EP" description="EP" start="17" size="1" />
      <BitField name="EW" description="EW" start="18" size="1" />
      <BitField name="BO" description="BO" start="19" size="1" />
      <BitField name="WDI" description="WDI" start="20" size="1" />
      <BitField name="PEA" description="PEA" start="21" size="1" />
      <BitField name="PED" description="PED" start="22" size="1" />
      <BitField name="ARA" description="ARA" start="23" size="1" />
    </Register>
    <Register name="IE" description="The settings in the Interrupt Enable register determine which status changes in the Interrupt Register will be signaled on an interrupt line." start="+0x54" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RF0NE" description="RF0NE" start="0" size="1" />
      <BitField name="RF0FE" description="RF0FE" start="1" size="1" />
      <BitField name="RF0LE" description="RF0LE" start="2" size="1" />
      <BitField name="RF1NE" description="RF1NE" start="3" size="1" />
      <BitField name="RF1FE" description="RF1FE" start="4" size="1" />
      <BitField name="RF1LE" description="RF1LE" start="5" size="1" />
      <BitField name="HPME" description="HPME" start="6" size="1" />
      <BitField name="TCE" description="TCE" start="7" size="1" />
      <BitField name="TCFE" description="TCFE" start="8" size="1" />
      <BitField name="TFEE" description="TFEE" start="9" size="1" />
      <BitField name="TEFNE" description="TEFNE" start="10" size="1" />
      <BitField name="TEFFE" description="TEFFE" start="11" size="1" />
      <BitField name="TEFLE" description="TEFLE" start="12" size="1" />
      <BitField name="TSWE" description="TSWE" start="13" size="1" />
      <BitField name="MRAFE" description="MRAFE" start="14" size="1" />
      <BitField name="TOOE" description="TOOE" start="15" size="1" />
      <BitField name="ELOE" description="ELOE" start="16" size="1" />
      <BitField name="EPE" description="EPE" start="17" size="1" />
      <BitField name="EWE" description="EWE" start="18" size="1" />
      <BitField name="BOE" description="BOE" start="19" size="1" />
      <BitField name="WDIE" description="WDIE" start="20" size="1" />
      <BitField name="PEAE" description="PEAE" start="21" size="1" />
      <BitField name="PEDE" description="PEDE" start="22" size="1" />
      <BitField name="ARAE" description="ARAE" start="23" size="1" />
    </Register>
    <Register name="ILS" description="The Interrupt Line Select register assigns an interrupt generated by a specific interrupt flag from the Interrupt Register to one of the two module interrupt lines. For interrupt generation the respective interrupt line has to be enabled via ILE[EINT0] and ILE[EINT1]." start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RxFIFO0" description="RxFIFO0" start="0" size="1" />
      <BitField name="RxFIFO1" description="RxFIFO1" start="1" size="1" />
      <BitField name="SMSG" description="SMSG" start="2" size="1" />
      <BitField name="TFERR" description="TFERR" start="3" size="1" />
      <BitField name="MISC" description="MISC" start="4" size="1" />
      <BitField name="BERR" description="BERR" start="5" size="1" />
      <BitField name="PERR" description="PERR" start="6" size="1" />
    </Register>
    <Register name="ILE" description="Each of the two interrupt lines to the CPU can be enabled/disabled separately by programming bits EINT0 and EINT1." start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EINT0" description="EINT0" start="0" size="1" />
      <BitField name="EINT1" description="EINT1" start="1" size="1" />
    </Register>
    <Register name="RXGFC" description="Global settings for Message ID filtering. The Global Filter Configuration controls the filter path for standard and extended messages as described in Figure706: Standard Message ID filter path and Figure707: Extended Message ID filter path." start="+0x80" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RRFE" description="RRFE" start="0" size="1" access="Read/Write" />
      <BitField name="RRFS" description="RRFS" start="1" size="1" access="Read/Write" />
      <BitField name="ANFE" description="ANFE" start="2" size="2" access="Read/Write" />
      <BitField name="ANFS" description="ANFS" start="4" size="2" access="Read/Write" />
      <BitField name="F1OM" description="F1OM" start="8" size="1" access="Read/Write" />
      <BitField name="F0OM" description="F0OM" start="9" size="1" access="Read/Write" />
      <BitField name="LSS" description="LSS" start="16" size="5" access="Read/Write" />
      <BitField name="LSE" description="LSE" start="24" size="4" access="Read/Write" />
    </Register>
    <Register name="XIDAM" description="FDCAN Extended ID and Mask Register" start="+0x84" size="4" access="Read/Write" reset_value="0x1FFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="EIDM" description="EIDM" start="0" size="29" />
    </Register>
    <Register name="HPMS" description="This register is updated every time a Message ID filter element configured to generate a priority event match. This can be used to monitor the status of incoming high priority messages and to enable fast access to these messages." start="+0x88" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BIDX" description="BIDX" start="0" size="3" />
      <BitField name="MSI" description="MSI" start="6" size="2" />
      <BitField name="FIDX" description="FIDX" start="8" size="5" />
      <BitField name="FLST" description="FLST" start="15" size="1" />
    </Register>
    <Register name="RXF0S" description="FDCAN Rx FIFO 0 Status Register" start="+0x90" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="F0FL" description="F0FL" start="0" size="4" />
      <BitField name="F0GI" description="F0GI" start="8" size="2" />
      <BitField name="F0PI" description="F0PI" start="16" size="2" />
      <BitField name="F0F" description="F0F" start="24" size="1" />
      <BitField name="RF0L" description="RF0L" start="25" size="1" />
    </Register>
    <Register name="RXF0A" description="CAN Rx FIFO 0 Acknowledge Register" start="+0x94" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="F0AI" description="F0AI" start="0" size="3" />
    </Register>
    <Register name="RXF1S" description="FDCAN Rx FIFO 1 Status Register" start="+0x98" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="F1FL" description="F1FL" start="0" size="4" />
      <BitField name="F1GI" description="F1GI" start="8" size="2" />
      <BitField name="F1PI" description="F1PI" start="16" size="2" />
      <BitField name="F1F" description="F1F" start="24" size="1" />
      <BitField name="RF1L" description="RF1L" start="25" size="1" />
    </Register>
    <Register name="RXF1A" description="FDCAN Rx FIFO 1 Acknowledge Register" start="+0x9C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="F1AI" description="F1AI" start="0" size="3" />
    </Register>
    <Register name="TXBC" description="FDCAN Tx Buffer Configuration Register" start="+0xC0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TFQM" description="TFQM" start="24" size="1" />
    </Register>
    <Register name="TXFQS" description="The Tx FIFO/Queue status is related to the pending Tx requests listed in register TXBRP. Therefore the effect of Add/Cancellation requests may be delayed due to a running Tx scan (TXBRP not yet updated)." start="+0xC4" size="4" access="ReadOnly" reset_value="0x00000003" reset_mask="0xFFFFFFFF">
      <BitField name="TFFL" description="TFFL" start="0" size="3" />
      <BitField name="TFGI" description="TFGI" start="8" size="2" />
      <BitField name="TFQPI" description="TFQPI" start="16" size="2" />
      <BitField name="TFQF" description="TFQF" start="21" size="1" />
    </Register>
    <Register name="TXBRP" description="FDCAN Tx Buffer Request Pending Register" start="+0xC8" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TRP" description="TRP" start="0" size="3" />
    </Register>
    <Register name="TXBAR" description="FDCAN Tx Buffer Add Request Register" start="+0xCC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AR" description="AR" start="0" size="3" />
    </Register>
    <Register name="TXBCR" description="FDCAN Tx Buffer Cancellation Request Register" start="+0xD0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CR" description="CR" start="0" size="3" />
    </Register>
    <Register name="TXBTO" description="FDCAN Tx Buffer Transmission Occurred Register" start="+0xD4" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TO" description="TO" start="0" size="3" />
    </Register>
    <Register name="TXBCF" description="FDCAN Tx Buffer Cancellation Finished Register" start="+0xD8" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CF" description="CF" start="0" size="3" />
    </Register>
    <Register name="TXBTIE" description="FDCAN Tx Buffer Transmission Interrupt Enable Register" start="+0xDC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TIE" description="TIE" start="0" size="3" />
    </Register>
    <Register name="TXBCIE" description="FDCAN Tx Buffer Cancellation Finished Interrupt Enable Register" start="+0xE0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CFIE" description="CFIE" start="0" size="3" />
    </Register>
    <Register name="TXEFS" description="FDCAN Tx Event FIFO Status Register" start="+0xE4" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EFFL" description="EFFL" start="0" size="3" />
      <BitField name="EFGI" description="EFGI" start="8" size="2" />
      <BitField name="EFPI" description="EFPI" start="16" size="2" />
      <BitField name="EFF" description="EFF" start="24" size="1" />
      <BitField name="TEFL" description="TEFL" start="25" size="1" />
    </Register>
    <Register name="TXEFA" description="FDCAN Tx Event FIFO Acknowledge Register" start="+0xE8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EFAI" description="EFAI" start="0" size="2" />
    </Register>
    <Register name="CKDIV" description="FDCAN CFG clock divider register" start="+0x100" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PDIV" description="input clock divider. the APB clock could be divided prior to be used by the CAN sub" start="0" size="4" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="FDCAN1" description="FDCAN" start="0x40006400">
    <Register name="CREL" description="FDCAN Core Release Register" start="+0x0" size="4" access="ReadOnly" reset_value="0x32141218" reset_mask="0xFFFFFFFF">
      <BitField name="DAY" description="DAY" start="0" size="8" />
      <BitField name="MON" description="MON" start="8" size="8" />
      <BitField name="YEAR" description="YEAR" start="16" size="4" />
      <BitField name="SUBSTEP" description="SUBSTEP" start="20" size="4" />
      <BitField name="STEP" description="STEP" start="24" size="4" />
      <BitField name="REL" description="REL" start="28" size="4" />
    </Register>
    <Register name="ENDN" description="FDCAN Core Release Register" start="+0x4" size="4" access="ReadOnly" reset_value="0x87654321" reset_mask="0xFFFFFFFF">
      <BitField name="ETV" description="ETV" start="0" size="32" />
    </Register>
    <Register name="DBTP" description="This register is only writable if bits CCCR.CCE and CCCR.INIT are set. The CAN bit time may be programed in the range of 4 to 25 time quanta. The CAN time quantum may be programmed in the range of 1 to 1024 FDCAN clock periods. tq = (DBRP + 1) FDCAN clock period. DTSEG1 is the sum of Prop_Seg and Phase_Seg1. DTSEG2 is Phase_Seg2. Therefore the length of the bit time is (programmed values) [DTSEG1 + DTSEG2 + 3] tq or (functional values) [Sync_Seg + Prop_Seg + Phase_Seg1 + Phase_Seg2] tq. The Information Processing Time (IPT) is zero, meaning the data for the next bit is available at the first clock edge after the sample point." start="+0xC" size="4" reset_value="0x00000A33" reset_mask="0xFFFFFFFF">
      <BitField name="DSJW" description="DSJW" start="0" size="4" access="Read/Write" />
      <BitField name="DTSEG2" description="DTSEG2" start="4" size="4" access="Read/Write" />
      <BitField name="DTSEG1" description="DTSEG1" start="8" size="5" access="Read/Write" />
      <BitField name="DBRP" description="DBRP" start="16" size="5" access="Read/Write" />
      <BitField name="TDC" description="TDC" start="23" size="1" access="Read/Write" />
    </Register>
    <Register name="TEST" description="Write access to the Test Register has to be enabled by setting bit CCCR[TEST] to 1 . All Test Register functions are set to their reset values when bit CCCR[TEST] is reset. Loop Back mode and software control of Tx pin FDCANx_TX are hardware test modes. Programming TX differently from 00 may disturb the message transfer on the CAN bus." start="+0x10" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LBCK" description="LBCK" start="4" size="1" access="Read/Write" />
      <BitField name="TX" description="TX" start="5" size="2" access="Read/Write" />
      <BitField name="RX" description="RX" start="7" size="1" access="ReadOnly" />
    </Register>
    <Register name="RWD" description="The RAM Watchdog monitors the READY output of the Message RAM. A Message RAM access starts the Message RAM Watchdog Counter with the value configured by the RWD[WDC] bits. The counter is reloaded with RWD[WDC] bits when the Message RAM signals successful completion by activating its READY output. In case there is no response from the Message RAM until the counter has counted down to 0, the counter stops and interrupt flag IR[WDI] bit is set. The RAM Watchdog Counter is clocked by the fdcan_pclk clock." start="+0x14" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="WDC" description="WDC" start="0" size="8" access="Read/Write" />
      <BitField name="WDV" description="WDV" start="8" size="8" access="ReadOnly" />
    </Register>
    <Register name="CCCR" description="For details about setting and resetting of single bits see Software initialization." start="+0x18" size="4" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
      <BitField name="INIT" description="INIT" start="0" size="1" access="Read/Write" />
      <BitField name="CCE" description="CCE" start="1" size="1" access="Read/Write" />
      <BitField name="ASM" description="ASM" start="2" size="1" access="Read/Write" />
      <BitField name="CSA" description="CSA" start="3" size="1" access="ReadOnly" />
      <BitField name="CSR" description="CSR" start="4" size="1" access="Read/Write" />
      <BitField name="MON" description="MON" start="5" size="1" access="Read/Write" />
      <BitField name="DAR" description="DAR" start="6" size="1" access="Read/Write" />
      <BitField name="TEST" description="TEST" start="7" size="1" access="Read/Write" />
      <BitField name="FDOE" description="FDOE" start="8" size="1" access="Read/Write" />
      <BitField name="BRSE" description="BRSE" start="9" size="1" access="Read/Write" />
      <BitField name="PXHD" description="PXHD" start="12" size="1" access="Read/Write" />
      <BitField name="EFBI" description="EFBI" start="13" size="1" access="Read/Write" />
      <BitField name="TXP" description="TXP" start="14" size="1" access="Read/Write" />
      <BitField name="NISO" description="NISO" start="15" size="1" access="Read/Write" />
    </Register>
    <Register name="NBTP" description="FDCAN_NBTP" start="+0x1C" size="4" access="Read/Write" reset_value="0x06000A03" reset_mask="0xFFFFFFFF">
      <BitField name="NTSEG2" description="NTSEG2" start="0" size="7" />
      <BitField name="NTSEG1" description="NTSEG1" start="8" size="8" />
      <BitField name="NBRP" description="NBRP" start="16" size="9" />
      <BitField name="NSJW" description="NSJW" start="25" size="7" />
    </Register>
    <Register name="TSCC" description="FDCAN Timestamp Counter Configuration Register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TSS" description="TSS" start="0" size="2" />
      <BitField name="TCP" description="TCP" start="16" size="4" />
    </Register>
    <Register name="TSCV" description="FDCAN Timestamp Counter Value Register" start="+0x24" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TSC" description="TSC" start="0" size="16" />
    </Register>
    <Register name="TOCC" description="FDCAN Timeout Counter Configuration Register" start="+0x28" size="4" reset_value="0xFFFF0000" reset_mask="0xFFFFFFFF">
      <BitField name="ETOC" description="ETOC" start="0" size="1" access="Read/Write" />
      <BitField name="TOS" description="TOS" start="1" size="2" access="Read/Write" />
      <BitField name="TOP" description="TOP" start="16" size="16" access="Read/Write" />
    </Register>
    <Register name="TOCV" description="FDCAN Timeout Counter Value Register" start="+0x2C" size="4" access="ReadOnly" reset_value="0x0000FFFF" reset_mask="0xFFFFFFFF">
      <BitField name="TOC" description="TOC" start="0" size="16" />
    </Register>
    <Register name="ECR" description="FDCAN Error Counter Register" start="+0x40" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TEC" description="TEC" start="0" size="8" />
      <BitField name="REC" description="TREC" start="8" size="7" />
      <BitField name="RP" description="RP" start="15" size="1" />
      <BitField name="CEL" description="CEL" start="16" size="8" />
    </Register>
    <Register name="PSR" description="FDCAN Protocol Status Register" start="+0x44" size="4" reset_value="0x00000707" reset_mask="0xFFFFFFFF">
      <BitField name="LEC" description="LEC" start="0" size="3" access="Read/Write" />
      <BitField name="ACT" description="ACT" start="3" size="2" access="ReadOnly" />
      <BitField name="EP" description="EP" start="5" size="1" access="ReadOnly" />
      <BitField name="EW" description="EW" start="6" size="1" access="ReadOnly" />
      <BitField name="BO" description="BO" start="7" size="1" access="ReadOnly" />
      <BitField name="DLEC" description="DLEC" start="8" size="3" access="Read/Write" />
      <BitField name="RESI" description="RESI" start="11" size="1" access="Read/Write" />
      <BitField name="RBRS" description="RBRS" start="12" size="1" access="Read/Write" />
      <BitField name="REDL" description="REDL" start="13" size="1" access="Read/Write" />
      <BitField name="PXE" description="PXE" start="14" size="1" access="Read/Write" />
      <BitField name="TDCV" description="TDCV" start="16" size="7" access="Read/Write" />
    </Register>
    <Register name="TDCR" description="FDCAN Transmitter Delay Compensation Register" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TDCF" description="TDCF" start="0" size="7" />
      <BitField name="TDCO" description="TDCO" start="8" size="7" />
    </Register>
    <Register name="IR" description="The flags are set when one of the listed conditions is detected (edge-sensitive). The flags remain set until the Host clears them. A flag is cleared by writing a 1 to the corresponding bit position. Writing a 0 has no effect. A hard reset will clear the register. The configuration of IE controls whether an interrupt is generated. The configuration of ILS controls on which interrupt line an interrupt is signaled." start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RF0N" description="RF0N" start="0" size="1" />
      <BitField name="RF0F" description="RF0F" start="1" size="1" />
      <BitField name="RF0L" description="RF0L" start="2" size="1" />
      <BitField name="RF1N" description="RF1N" start="3" size="1" />
      <BitField name="RF1F" description="RF1F" start="4" size="1" />
      <BitField name="RF1L" description="RF1L" start="5" size="1" />
      <BitField name="HPM" description="HPM" start="6" size="1" />
      <BitField name="TC" description="TC" start="7" size="1" />
      <BitField name="TCF" description="TCF" start="8" size="1" />
      <BitField name="TFE" description="TFE" start="9" size="1" />
      <BitField name="TEFN" description="TEFN" start="10" size="1" />
      <BitField name="TEFF" description="TEFF" start="11" size="1" />
      <BitField name="TEFL" description="TEFL" start="12" size="1" />
      <BitField name="TSW" description="TSW" start="13" size="1" />
      <BitField name="MRAF" description="MRAF" start="14" size="1" />
      <BitField name="TOO" description="TOO" start="15" size="1" />
      <BitField name="ELO" description="ELO" start="16" size="1" />
      <BitField name="EP" description="EP" start="17" size="1" />
      <BitField name="EW" description="EW" start="18" size="1" />
      <BitField name="BO" description="BO" start="19" size="1" />
      <BitField name="WDI" description="WDI" start="20" size="1" />
      <BitField name="PEA" description="PEA" start="21" size="1" />
      <BitField name="PED" description="PED" start="22" size="1" />
      <BitField name="ARA" description="ARA" start="23" size="1" />
    </Register>
    <Register name="IE" description="The settings in the Interrupt Enable register determine which status changes in the Interrupt Register will be signaled on an interrupt line." start="+0x54" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RF0NE" description="RF0NE" start="0" size="1" />
      <BitField name="RF0FE" description="RF0FE" start="1" size="1" />
      <BitField name="RF0LE" description="RF0LE" start="2" size="1" />
      <BitField name="RF1NE" description="RF1NE" start="3" size="1" />
      <BitField name="RF1FE" description="RF1FE" start="4" size="1" />
      <BitField name="RF1LE" description="RF1LE" start="5" size="1" />
      <BitField name="HPME" description="HPME" start="6" size="1" />
      <BitField name="TCE" description="TCE" start="7" size="1" />
      <BitField name="TCFE" description="TCFE" start="8" size="1" />
      <BitField name="TFEE" description="TFEE" start="9" size="1" />
      <BitField name="TEFNE" description="TEFNE" start="10" size="1" />
      <BitField name="TEFFE" description="TEFFE" start="11" size="1" />
      <BitField name="TEFLE" description="TEFLE" start="12" size="1" />
      <BitField name="TSWE" description="TSWE" start="13" size="1" />
      <BitField name="MRAFE" description="MRAFE" start="14" size="1" />
      <BitField name="TOOE" description="TOOE" start="15" size="1" />
      <BitField name="ELOE" description="ELOE" start="16" size="1" />
      <BitField name="EPE" description="EPE" start="17" size="1" />
      <BitField name="EWE" description="EWE" start="18" size="1" />
      <BitField name="BOE" description="BOE" start="19" size="1" />
      <BitField name="WDIE" description="WDIE" start="20" size="1" />
      <BitField name="PEAE" description="PEAE" start="21" size="1" />
      <BitField name="PEDE" description="PEDE" start="22" size="1" />
      <BitField name="ARAE" description="ARAE" start="23" size="1" />
    </Register>
    <Register name="ILS" description="The Interrupt Line Select register assigns an interrupt generated by a specific interrupt flag from the Interrupt Register to one of the two module interrupt lines. For interrupt generation the respective interrupt line has to be enabled via ILE[EINT0] and ILE[EINT1]." start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RxFIFO0" description="RxFIFO0" start="0" size="1" />
      <BitField name="RxFIFO1" description="RxFIFO1" start="1" size="1" />
      <BitField name="SMSG" description="SMSG" start="2" size="1" />
      <BitField name="TFERR" description="TFERR" start="3" size="1" />
      <BitField name="MISC" description="MISC" start="4" size="1" />
      <BitField name="BERR" description="BERR" start="5" size="1" />
      <BitField name="PERR" description="PERR" start="6" size="1" />
    </Register>
    <Register name="ILE" description="Each of the two interrupt lines to the CPU can be enabled/disabled separately by programming bits EINT0 and EINT1." start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EINT0" description="EINT0" start="0" size="1" />
      <BitField name="EINT1" description="EINT1" start="1" size="1" />
    </Register>
    <Register name="RXGFC" description="Global settings for Message ID filtering. The Global Filter Configuration controls the filter path for standard and extended messages as described in Figure706: Standard Message ID filter path and Figure707: Extended Message ID filter path." start="+0x80" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RRFE" description="RRFE" start="0" size="1" access="Read/Write" />
      <BitField name="RRFS" description="RRFS" start="1" size="1" access="Read/Write" />
      <BitField name="ANFE" description="ANFE" start="2" size="2" access="Read/Write" />
      <BitField name="ANFS" description="ANFS" start="4" size="2" access="Read/Write" />
      <BitField name="F1OM" description="F1OM" start="8" size="1" access="Read/Write" />
      <BitField name="F0OM" description="F0OM" start="9" size="1" access="Read/Write" />
      <BitField name="LSS" description="LSS" start="16" size="5" access="Read/Write" />
      <BitField name="LSE" description="LSE" start="24" size="4" access="Read/Write" />
    </Register>
    <Register name="XIDAM" description="FDCAN Extended ID and Mask Register" start="+0x84" size="4" access="Read/Write" reset_value="0x1FFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="EIDM" description="EIDM" start="0" size="29" />
    </Register>
    <Register name="HPMS" description="This register is updated every time a Message ID filter element configured to generate a priority event match. This can be used to monitor the status of incoming high priority messages and to enable fast access to these messages." start="+0x88" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BIDX" description="BIDX" start="0" size="3" />
      <BitField name="MSI" description="MSI" start="6" size="2" />
      <BitField name="FIDX" description="FIDX" start="8" size="5" />
      <BitField name="FLST" description="FLST" start="15" size="1" />
    </Register>
    <Register name="RXF0S" description="FDCAN Rx FIFO 0 Status Register" start="+0x90" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="F0FL" description="F0FL" start="0" size="4" />
      <BitField name="F0GI" description="F0GI" start="8" size="2" />
      <BitField name="F0PI" description="F0PI" start="16" size="2" />
      <BitField name="F0F" description="F0F" start="24" size="1" />
      <BitField name="RF0L" description="RF0L" start="25" size="1" />
    </Register>
    <Register name="RXF0A" description="CAN Rx FIFO 0 Acknowledge Register" start="+0x94" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="F0AI" description="F0AI" start="0" size="3" />
    </Register>
    <Register name="RXF1S" description="FDCAN Rx FIFO 1 Status Register" start="+0x98" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="F1FL" description="F1FL" start="0" size="4" />
      <BitField name="F1GI" description="F1GI" start="8" size="2" />
      <BitField name="F1PI" description="F1PI" start="16" size="2" />
      <BitField name="F1F" description="F1F" start="24" size="1" />
      <BitField name="RF1L" description="RF1L" start="25" size="1" />
    </Register>
    <Register name="RXF1A" description="FDCAN Rx FIFO 1 Acknowledge Register" start="+0x9C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="F1AI" description="F1AI" start="0" size="3" />
    </Register>
    <Register name="TXBC" description="FDCAN Tx Buffer Configuration Register" start="+0xC0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TFQM" description="TFQM" start="24" size="1" />
    </Register>
    <Register name="TXFQS" description="The Tx FIFO/Queue status is related to the pending Tx requests listed in register TXBRP. Therefore the effect of Add/Cancellation requests may be delayed due to a running Tx scan (TXBRP not yet updated)." start="+0xC4" size="4" access="ReadOnly" reset_value="0x00000003" reset_mask="0xFFFFFFFF">
      <BitField name="TFFL" description="TFFL" start="0" size="3" />
      <BitField name="TFGI" description="TFGI" start="8" size="2" />
      <BitField name="TFQPI" description="TFQPI" start="16" size="2" />
      <BitField name="TFQF" description="TFQF" start="21" size="1" />
    </Register>
    <Register name="TXBRP" description="FDCAN Tx Buffer Request Pending Register" start="+0xC8" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TRP" description="TRP" start="0" size="3" />
    </Register>
    <Register name="TXBAR" description="FDCAN Tx Buffer Add Request Register" start="+0xCC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AR" description="AR" start="0" size="3" />
    </Register>
    <Register name="TXBCR" description="FDCAN Tx Buffer Cancellation Request Register" start="+0xD0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CR" description="CR" start="0" size="3" />
    </Register>
    <Register name="TXBTO" description="FDCAN Tx Buffer Transmission Occurred Register" start="+0xD4" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TO" description="TO" start="0" size="3" />
    </Register>
    <Register name="TXBCF" description="FDCAN Tx Buffer Cancellation Finished Register" start="+0xD8" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CF" description="CF" start="0" size="3" />
    </Register>
    <Register name="TXBTIE" description="FDCAN Tx Buffer Transmission Interrupt Enable Register" start="+0xDC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TIE" description="TIE" start="0" size="3" />
    </Register>
    <Register name="TXBCIE" description="FDCAN Tx Buffer Cancellation Finished Interrupt Enable Register" start="+0xE0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CFIE" description="CFIE" start="0" size="3" />
    </Register>
    <Register name="TXEFS" description="FDCAN Tx Event FIFO Status Register" start="+0xE4" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EFFL" description="EFFL" start="0" size="3" />
      <BitField name="EFGI" description="EFGI" start="8" size="2" />
      <BitField name="EFPI" description="EFPI" start="16" size="2" />
      <BitField name="EFF" description="EFF" start="24" size="1" />
      <BitField name="TEFL" description="TEFL" start="25" size="1" />
    </Register>
    <Register name="TXEFA" description="FDCAN Tx Event FIFO Acknowledge Register" start="+0xE8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EFAI" description="EFAI" start="0" size="2" />
    </Register>
    <Register name="CKDIV" description="FDCAN CFG clock divider register" start="+0x100" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PDIV" description="input clock divider. the APB clock could be divided prior to be used by the CAN sub" start="0" size="4" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="FDCAN2" description="FDCAN" start="0x40006800">
    <Register name="CREL" description="FDCAN Core Release Register" start="+0x0" size="4" access="ReadOnly" reset_value="0x32141218" reset_mask="0xFFFFFFFF">
      <BitField name="DAY" description="DAY" start="0" size="8" />
      <BitField name="MON" description="MON" start="8" size="8" />
      <BitField name="YEAR" description="YEAR" start="16" size="4" />
      <BitField name="SUBSTEP" description="SUBSTEP" start="20" size="4" />
      <BitField name="STEP" description="STEP" start="24" size="4" />
      <BitField name="REL" description="REL" start="28" size="4" />
    </Register>
    <Register name="ENDN" description="FDCAN Core Release Register" start="+0x4" size="4" access="ReadOnly" reset_value="0x87654321" reset_mask="0xFFFFFFFF">
      <BitField name="ETV" description="ETV" start="0" size="32" />
    </Register>
    <Register name="DBTP" description="This register is only writable if bits CCCR.CCE and CCCR.INIT are set. The CAN bit time may be programed in the range of 4 to 25 time quanta. The CAN time quantum may be programmed in the range of 1 to 1024 FDCAN clock periods. tq = (DBRP + 1) FDCAN clock period. DTSEG1 is the sum of Prop_Seg and Phase_Seg1. DTSEG2 is Phase_Seg2. Therefore the length of the bit time is (programmed values) [DTSEG1 + DTSEG2 + 3] tq or (functional values) [Sync_Seg + Prop_Seg + Phase_Seg1 + Phase_Seg2] tq. The Information Processing Time (IPT) is zero, meaning the data for the next bit is available at the first clock edge after the sample point." start="+0xC" size="4" reset_value="0x00000A33" reset_mask="0xFFFFFFFF">
      <BitField name="DSJW" description="DSJW" start="0" size="4" access="Read/Write" />
      <BitField name="DTSEG2" description="DTSEG2" start="4" size="4" access="Read/Write" />
      <BitField name="DTSEG1" description="DTSEG1" start="8" size="5" access="Read/Write" />
      <BitField name="DBRP" description="DBRP" start="16" size="5" access="Read/Write" />
      <BitField name="TDC" description="TDC" start="23" size="1" access="Read/Write" />
    </Register>
    <Register name="TEST" description="Write access to the Test Register has to be enabled by setting bit CCCR[TEST] to 1 . All Test Register functions are set to their reset values when bit CCCR[TEST] is reset. Loop Back mode and software control of Tx pin FDCANx_TX are hardware test modes. Programming TX differently from 00 may disturb the message transfer on the CAN bus." start="+0x10" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LBCK" description="LBCK" start="4" size="1" access="Read/Write" />
      <BitField name="TX" description="TX" start="5" size="2" access="Read/Write" />
      <BitField name="RX" description="RX" start="7" size="1" access="ReadOnly" />
    </Register>
    <Register name="RWD" description="The RAM Watchdog monitors the READY output of the Message RAM. A Message RAM access starts the Message RAM Watchdog Counter with the value configured by the RWD[WDC] bits. The counter is reloaded with RWD[WDC] bits when the Message RAM signals successful completion by activating its READY output. In case there is no response from the Message RAM until the counter has counted down to 0, the counter stops and interrupt flag IR[WDI] bit is set. The RAM Watchdog Counter is clocked by the fdcan_pclk clock." start="+0x14" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="WDC" description="WDC" start="0" size="8" access="Read/Write" />
      <BitField name="WDV" description="WDV" start="8" size="8" access="ReadOnly" />
    </Register>
    <Register name="CCCR" description="For details about setting and resetting of single bits see Software initialization." start="+0x18" size="4" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
      <BitField name="INIT" description="INIT" start="0" size="1" access="Read/Write" />
      <BitField name="CCE" description="CCE" start="1" size="1" access="Read/Write" />
      <BitField name="ASM" description="ASM" start="2" size="1" access="Read/Write" />
      <BitField name="CSA" description="CSA" start="3" size="1" access="ReadOnly" />
      <BitField name="CSR" description="CSR" start="4" size="1" access="Read/Write" />
      <BitField name="MON" description="MON" start="5" size="1" access="Read/Write" />
      <BitField name="DAR" description="DAR" start="6" size="1" access="Read/Write" />
      <BitField name="TEST" description="TEST" start="7" size="1" access="Read/Write" />
      <BitField name="FDOE" description="FDOE" start="8" size="1" access="Read/Write" />
      <BitField name="BRSE" description="BRSE" start="9" size="1" access="Read/Write" />
      <BitField name="PXHD" description="PXHD" start="12" size="1" access="Read/Write" />
      <BitField name="EFBI" description="EFBI" start="13" size="1" access="Read/Write" />
      <BitField name="TXP" description="TXP" start="14" size="1" access="Read/Write" />
      <BitField name="NISO" description="NISO" start="15" size="1" access="Read/Write" />
    </Register>
    <Register name="NBTP" description="FDCAN_NBTP" start="+0x1C" size="4" access="Read/Write" reset_value="0x06000A03" reset_mask="0xFFFFFFFF">
      <BitField name="NTSEG2" description="NTSEG2" start="0" size="7" />
      <BitField name="NTSEG1" description="NTSEG1" start="8" size="8" />
      <BitField name="NBRP" description="NBRP" start="16" size="9" />
      <BitField name="NSJW" description="NSJW" start="25" size="7" />
    </Register>
    <Register name="TSCC" description="FDCAN Timestamp Counter Configuration Register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TSS" description="TSS" start="0" size="2" />
      <BitField name="TCP" description="TCP" start="16" size="4" />
    </Register>
    <Register name="TSCV" description="FDCAN Timestamp Counter Value Register" start="+0x24" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TSC" description="TSC" start="0" size="16" />
    </Register>
    <Register name="TOCC" description="FDCAN Timeout Counter Configuration Register" start="+0x28" size="4" reset_value="0xFFFF0000" reset_mask="0xFFFFFFFF">
      <BitField name="ETOC" description="ETOC" start="0" size="1" access="Read/Write" />
      <BitField name="TOS" description="TOS" start="1" size="2" access="Read/Write" />
      <BitField name="TOP" description="TOP" start="16" size="16" access="Read/Write" />
    </Register>
    <Register name="TOCV" description="FDCAN Timeout Counter Value Register" start="+0x2C" size="4" access="ReadOnly" reset_value="0x0000FFFF" reset_mask="0xFFFFFFFF">
      <BitField name="TOC" description="TOC" start="0" size="16" />
    </Register>
    <Register name="ECR" description="FDCAN Error Counter Register" start="+0x40" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TEC" description="TEC" start="0" size="8" />
      <BitField name="REC" description="TREC" start="8" size="7" />
      <BitField name="RP" description="RP" start="15" size="1" />
      <BitField name="CEL" description="CEL" start="16" size="8" />
    </Register>
    <Register name="PSR" description="FDCAN Protocol Status Register" start="+0x44" size="4" reset_value="0x00000707" reset_mask="0xFFFFFFFF">
      <BitField name="LEC" description="LEC" start="0" size="3" access="Read/Write" />
      <BitField name="ACT" description="ACT" start="3" size="2" access="ReadOnly" />
      <BitField name="EP" description="EP" start="5" size="1" access="ReadOnly" />
      <BitField name="EW" description="EW" start="6" size="1" access="ReadOnly" />
      <BitField name="BO" description="BO" start="7" size="1" access="ReadOnly" />
      <BitField name="DLEC" description="DLEC" start="8" size="3" access="Read/Write" />
      <BitField name="RESI" description="RESI" start="11" size="1" access="Read/Write" />
      <BitField name="RBRS" description="RBRS" start="12" size="1" access="Read/Write" />
      <BitField name="REDL" description="REDL" start="13" size="1" access="Read/Write" />
      <BitField name="PXE" description="PXE" start="14" size="1" access="Read/Write" />
      <BitField name="TDCV" description="TDCV" start="16" size="7" access="Read/Write" />
    </Register>
    <Register name="TDCR" description="FDCAN Transmitter Delay Compensation Register" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TDCF" description="TDCF" start="0" size="7" />
      <BitField name="TDCO" description="TDCO" start="8" size="7" />
    </Register>
    <Register name="IR" description="The flags are set when one of the listed conditions is detected (edge-sensitive). The flags remain set until the Host clears them. A flag is cleared by writing a 1 to the corresponding bit position. Writing a 0 has no effect. A hard reset will clear the register. The configuration of IE controls whether an interrupt is generated. The configuration of ILS controls on which interrupt line an interrupt is signaled." start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RF0N" description="RF0N" start="0" size="1" />
      <BitField name="RF0F" description="RF0F" start="1" size="1" />
      <BitField name="RF0L" description="RF0L" start="2" size="1" />
      <BitField name="RF1N" description="RF1N" start="3" size="1" />
      <BitField name="RF1F" description="RF1F" start="4" size="1" />
      <BitField name="RF1L" description="RF1L" start="5" size="1" />
      <BitField name="HPM" description="HPM" start="6" size="1" />
      <BitField name="TC" description="TC" start="7" size="1" />
      <BitField name="TCF" description="TCF" start="8" size="1" />
      <BitField name="TFE" description="TFE" start="9" size="1" />
      <BitField name="TEFN" description="TEFN" start="10" size="1" />
      <BitField name="TEFF" description="TEFF" start="11" size="1" />
      <BitField name="TEFL" description="TEFL" start="12" size="1" />
      <BitField name="TSW" description="TSW" start="13" size="1" />
      <BitField name="MRAF" description="MRAF" start="14" size="1" />
      <BitField name="TOO" description="TOO" start="15" size="1" />
      <BitField name="ELO" description="ELO" start="16" size="1" />
      <BitField name="EP" description="EP" start="17" size="1" />
      <BitField name="EW" description="EW" start="18" size="1" />
      <BitField name="BO" description="BO" start="19" size="1" />
      <BitField name="WDI" description="WDI" start="20" size="1" />
      <BitField name="PEA" description="PEA" start="21" size="1" />
      <BitField name="PED" description="PED" start="22" size="1" />
      <BitField name="ARA" description="ARA" start="23" size="1" />
    </Register>
    <Register name="IE" description="The settings in the Interrupt Enable register determine which status changes in the Interrupt Register will be signaled on an interrupt line." start="+0x54" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RF0NE" description="RF0NE" start="0" size="1" />
      <BitField name="RF0FE" description="RF0FE" start="1" size="1" />
      <BitField name="RF0LE" description="RF0LE" start="2" size="1" />
      <BitField name="RF1NE" description="RF1NE" start="3" size="1" />
      <BitField name="RF1FE" description="RF1FE" start="4" size="1" />
      <BitField name="RF1LE" description="RF1LE" start="5" size="1" />
      <BitField name="HPME" description="HPME" start="6" size="1" />
      <BitField name="TCE" description="TCE" start="7" size="1" />
      <BitField name="TCFE" description="TCFE" start="8" size="1" />
      <BitField name="TFEE" description="TFEE" start="9" size="1" />
      <BitField name="TEFNE" description="TEFNE" start="10" size="1" />
      <BitField name="TEFFE" description="TEFFE" start="11" size="1" />
      <BitField name="TEFLE" description="TEFLE" start="12" size="1" />
      <BitField name="TSWE" description="TSWE" start="13" size="1" />
      <BitField name="MRAFE" description="MRAFE" start="14" size="1" />
      <BitField name="TOOE" description="TOOE" start="15" size="1" />
      <BitField name="ELOE" description="ELOE" start="16" size="1" />
      <BitField name="EPE" description="EPE" start="17" size="1" />
      <BitField name="EWE" description="EWE" start="18" size="1" />
      <BitField name="BOE" description="BOE" start="19" size="1" />
      <BitField name="WDIE" description="WDIE" start="20" size="1" />
      <BitField name="PEAE" description="PEAE" start="21" size="1" />
      <BitField name="PEDE" description="PEDE" start="22" size="1" />
      <BitField name="ARAE" description="ARAE" start="23" size="1" />
    </Register>
    <Register name="ILS" description="The Interrupt Line Select register assigns an interrupt generated by a specific interrupt flag from the Interrupt Register to one of the two module interrupt lines. For interrupt generation the respective interrupt line has to be enabled via ILE[EINT0] and ILE[EINT1]." start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RxFIFO0" description="RxFIFO0" start="0" size="1" />
      <BitField name="RxFIFO1" description="RxFIFO1" start="1" size="1" />
      <BitField name="SMSG" description="SMSG" start="2" size="1" />
      <BitField name="TFERR" description="TFERR" start="3" size="1" />
      <BitField name="MISC" description="MISC" start="4" size="1" />
      <BitField name="BERR" description="BERR" start="5" size="1" />
      <BitField name="PERR" description="PERR" start="6" size="1" />
    </Register>
    <Register name="ILE" description="Each of the two interrupt lines to the CPU can be enabled/disabled separately by programming bits EINT0 and EINT1." start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EINT0" description="EINT0" start="0" size="1" />
      <BitField name="EINT1" description="EINT1" start="1" size="1" />
    </Register>
    <Register name="RXGFC" description="Global settings for Message ID filtering. The Global Filter Configuration controls the filter path for standard and extended messages as described in Figure706: Standard Message ID filter path and Figure707: Extended Message ID filter path." start="+0x80" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RRFE" description="RRFE" start="0" size="1" access="Read/Write" />
      <BitField name="RRFS" description="RRFS" start="1" size="1" access="Read/Write" />
      <BitField name="ANFE" description="ANFE" start="2" size="2" access="Read/Write" />
      <BitField name="ANFS" description="ANFS" start="4" size="2" access="Read/Write" />
      <BitField name="F1OM" description="F1OM" start="8" size="1" access="Read/Write" />
      <BitField name="F0OM" description="F0OM" start="9" size="1" access="Read/Write" />
      <BitField name="LSS" description="LSS" start="16" size="5" access="Read/Write" />
      <BitField name="LSE" description="LSE" start="24" size="4" access="Read/Write" />
    </Register>
    <Register name="XIDAM" description="FDCAN Extended ID and Mask Register" start="+0x84" size="4" access="Read/Write" reset_value="0x1FFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="EIDM" description="EIDM" start="0" size="29" />
    </Register>
    <Register name="HPMS" description="This register is updated every time a Message ID filter element configured to generate a priority event match. This can be used to monitor the status of incoming high priority messages and to enable fast access to these messages." start="+0x88" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BIDX" description="BIDX" start="0" size="3" />
      <BitField name="MSI" description="MSI" start="6" size="2" />
      <BitField name="FIDX" description="FIDX" start="8" size="5" />
      <BitField name="FLST" description="FLST" start="15" size="1" />
    </Register>
    <Register name="RXF0S" description="FDCAN Rx FIFO 0 Status Register" start="+0x90" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="F0FL" description="F0FL" start="0" size="4" />
      <BitField name="F0GI" description="F0GI" start="8" size="2" />
      <BitField name="F0PI" description="F0PI" start="16" size="2" />
      <BitField name="F0F" description="F0F" start="24" size="1" />
      <BitField name="RF0L" description="RF0L" start="25" size="1" />
    </Register>
    <Register name="RXF0A" description="CAN Rx FIFO 0 Acknowledge Register" start="+0x94" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="F0AI" description="F0AI" start="0" size="3" />
    </Register>
    <Register name="RXF1S" description="FDCAN Rx FIFO 1 Status Register" start="+0x98" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="F1FL" description="F1FL" start="0" size="4" />
      <BitField name="F1GI" description="F1GI" start="8" size="2" />
      <BitField name="F1PI" description="F1PI" start="16" size="2" />
      <BitField name="F1F" description="F1F" start="24" size="1" />
      <BitField name="RF1L" description="RF1L" start="25" size="1" />
    </Register>
    <Register name="RXF1A" description="FDCAN Rx FIFO 1 Acknowledge Register" start="+0x9C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="F1AI" description="F1AI" start="0" size="3" />
    </Register>
    <Register name="TXBC" description="FDCAN Tx Buffer Configuration Register" start="+0xC0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TFQM" description="TFQM" start="24" size="1" />
    </Register>
    <Register name="TXFQS" description="The Tx FIFO/Queue status is related to the pending Tx requests listed in register TXBRP. Therefore the effect of Add/Cancellation requests may be delayed due to a running Tx scan (TXBRP not yet updated)." start="+0xC4" size="4" access="ReadOnly" reset_value="0x00000003" reset_mask="0xFFFFFFFF">
      <BitField name="TFFL" description="TFFL" start="0" size="3" />
      <BitField name="TFGI" description="TFGI" start="8" size="2" />
      <BitField name="TFQPI" description="TFQPI" start="16" size="2" />
      <BitField name="TFQF" description="TFQF" start="21" size="1" />
    </Register>
    <Register name="TXBRP" description="FDCAN Tx Buffer Request Pending Register" start="+0xC8" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TRP" description="TRP" start="0" size="3" />
    </Register>
    <Register name="TXBAR" description="FDCAN Tx Buffer Add Request Register" start="+0xCC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AR" description="AR" start="0" size="3" />
    </Register>
    <Register name="TXBCR" description="FDCAN Tx Buffer Cancellation Request Register" start="+0xD0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CR" description="CR" start="0" size="3" />
    </Register>
    <Register name="TXBTO" description="FDCAN Tx Buffer Transmission Occurred Register" start="+0xD4" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TO" description="TO" start="0" size="3" />
    </Register>
    <Register name="TXBCF" description="FDCAN Tx Buffer Cancellation Finished Register" start="+0xD8" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CF" description="CF" start="0" size="3" />
    </Register>
    <Register name="TXBTIE" description="FDCAN Tx Buffer Transmission Interrupt Enable Register" start="+0xDC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TIE" description="TIE" start="0" size="3" />
    </Register>
    <Register name="TXBCIE" description="FDCAN Tx Buffer Cancellation Finished Interrupt Enable Register" start="+0xE0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CFIE" description="CFIE" start="0" size="3" />
    </Register>
    <Register name="TXEFS" description="FDCAN Tx Event FIFO Status Register" start="+0xE4" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EFFL" description="EFFL" start="0" size="3" />
      <BitField name="EFGI" description="EFGI" start="8" size="2" />
      <BitField name="EFPI" description="EFPI" start="16" size="2" />
      <BitField name="EFF" description="EFF" start="24" size="1" />
      <BitField name="TEFL" description="TEFL" start="25" size="1" />
    </Register>
    <Register name="TXEFA" description="FDCAN Tx Event FIFO Acknowledge Register" start="+0xE8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EFAI" description="EFAI" start="0" size="2" />
    </Register>
    <Register name="CKDIV" description="FDCAN CFG clock divider register" start="+0x100" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PDIV" description="input clock divider. the APB clock could be divided prior to be used by the CAN sub" start="0" size="4" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="FDCAN3" description="FDCAN" start="0x40006C00">
    <Register name="CREL" description="FDCAN Core Release Register" start="+0x0" size="4" access="ReadOnly" reset_value="0x32141218" reset_mask="0xFFFFFFFF">
      <BitField name="DAY" description="DAY" start="0" size="8" />
      <BitField name="MON" description="MON" start="8" size="8" />
      <BitField name="YEAR" description="YEAR" start="16" size="4" />
      <BitField name="SUBSTEP" description="SUBSTEP" start="20" size="4" />
      <BitField name="STEP" description="STEP" start="24" size="4" />
      <BitField name="REL" description="REL" start="28" size="4" />
    </Register>
    <Register name="ENDN" description="FDCAN Core Release Register" start="+0x4" size="4" access="ReadOnly" reset_value="0x87654321" reset_mask="0xFFFFFFFF">
      <BitField name="ETV" description="ETV" start="0" size="32" />
    </Register>
    <Register name="DBTP" description="This register is only writable if bits CCCR.CCE and CCCR.INIT are set. The CAN bit time may be programed in the range of 4 to 25 time quanta. The CAN time quantum may be programmed in the range of 1 to 1024 FDCAN clock periods. tq = (DBRP + 1) FDCAN clock period. DTSEG1 is the sum of Prop_Seg and Phase_Seg1. DTSEG2 is Phase_Seg2. Therefore the length of the bit time is (programmed values) [DTSEG1 + DTSEG2 + 3] tq or (functional values) [Sync_Seg + Prop_Seg + Phase_Seg1 + Phase_Seg2] tq. The Information Processing Time (IPT) is zero, meaning the data for the next bit is available at the first clock edge after the sample point." start="+0xC" size="4" reset_value="0x00000A33" reset_mask="0xFFFFFFFF">
      <BitField name="DSJW" description="DSJW" start="0" size="4" access="Read/Write" />
      <BitField name="DTSEG2" description="DTSEG2" start="4" size="4" access="Read/Write" />
      <BitField name="DTSEG1" description="DTSEG1" start="8" size="5" access="Read/Write" />
      <BitField name="DBRP" description="DBRP" start="16" size="5" access="Read/Write" />
      <BitField name="TDC" description="TDC" start="23" size="1" access="Read/Write" />
    </Register>
    <Register name="TEST" description="Write access to the Test Register has to be enabled by setting bit CCCR[TEST] to 1 . All Test Register functions are set to their reset values when bit CCCR[TEST] is reset. Loop Back mode and software control of Tx pin FDCANx_TX are hardware test modes. Programming TX differently from 00 may disturb the message transfer on the CAN bus." start="+0x10" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="LBCK" description="LBCK" start="4" size="1" access="Read/Write" />
      <BitField name="TX" description="TX" start="5" size="2" access="Read/Write" />
      <BitField name="RX" description="RX" start="7" size="1" access="ReadOnly" />
    </Register>
    <Register name="RWD" description="The RAM Watchdog monitors the READY output of the Message RAM. A Message RAM access starts the Message RAM Watchdog Counter with the value configured by the RWD[WDC] bits. The counter is reloaded with RWD[WDC] bits when the Message RAM signals successful completion by activating its READY output. In case there is no response from the Message RAM until the counter has counted down to 0, the counter stops and interrupt flag IR[WDI] bit is set. The RAM Watchdog Counter is clocked by the fdcan_pclk clock." start="+0x14" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="WDC" description="WDC" start="0" size="8" access="Read/Write" />
      <BitField name="WDV" description="WDV" start="8" size="8" access="ReadOnly" />
    </Register>
    <Register name="CCCR" description="For details about setting and resetting of single bits see Software initialization." start="+0x18" size="4" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
      <BitField name="INIT" description="INIT" start="0" size="1" access="Read/Write" />
      <BitField name="CCE" description="CCE" start="1" size="1" access="Read/Write" />
      <BitField name="ASM" description="ASM" start="2" size="1" access="Read/Write" />
      <BitField name="CSA" description="CSA" start="3" size="1" access="ReadOnly" />
      <BitField name="CSR" description="CSR" start="4" size="1" access="Read/Write" />
      <BitField name="MON" description="MON" start="5" size="1" access="Read/Write" />
      <BitField name="DAR" description="DAR" start="6" size="1" access="Read/Write" />
      <BitField name="TEST" description="TEST" start="7" size="1" access="Read/Write" />
      <BitField name="FDOE" description="FDOE" start="8" size="1" access="Read/Write" />
      <BitField name="BRSE" description="BRSE" start="9" size="1" access="Read/Write" />
      <BitField name="PXHD" description="PXHD" start="12" size="1" access="Read/Write" />
      <BitField name="EFBI" description="EFBI" start="13" size="1" access="Read/Write" />
      <BitField name="TXP" description="TXP" start="14" size="1" access="Read/Write" />
      <BitField name="NISO" description="NISO" start="15" size="1" access="Read/Write" />
    </Register>
    <Register name="NBTP" description="FDCAN_NBTP" start="+0x1C" size="4" access="Read/Write" reset_value="0x06000A03" reset_mask="0xFFFFFFFF">
      <BitField name="NTSEG2" description="NTSEG2" start="0" size="7" />
      <BitField name="NTSEG1" description="NTSEG1" start="8" size="8" />
      <BitField name="NBRP" description="NBRP" start="16" size="9" />
      <BitField name="NSJW" description="NSJW" start="25" size="7" />
    </Register>
    <Register name="TSCC" description="FDCAN Timestamp Counter Configuration Register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TSS" description="TSS" start="0" size="2" />
      <BitField name="TCP" description="TCP" start="16" size="4" />
    </Register>
    <Register name="TSCV" description="FDCAN Timestamp Counter Value Register" start="+0x24" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TSC" description="TSC" start="0" size="16" />
    </Register>
    <Register name="TOCC" description="FDCAN Timeout Counter Configuration Register" start="+0x28" size="4" reset_value="0xFFFF0000" reset_mask="0xFFFFFFFF">
      <BitField name="ETOC" description="ETOC" start="0" size="1" access="Read/Write" />
      <BitField name="TOS" description="TOS" start="1" size="2" access="Read/Write" />
      <BitField name="TOP" description="TOP" start="16" size="16" access="Read/Write" />
    </Register>
    <Register name="TOCV" description="FDCAN Timeout Counter Value Register" start="+0x2C" size="4" access="ReadOnly" reset_value="0x0000FFFF" reset_mask="0xFFFFFFFF">
      <BitField name="TOC" description="TOC" start="0" size="16" />
    </Register>
    <Register name="ECR" description="FDCAN Error Counter Register" start="+0x40" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TEC" description="TEC" start="0" size="8" />
      <BitField name="REC" description="TREC" start="8" size="7" />
      <BitField name="RP" description="RP" start="15" size="1" />
      <BitField name="CEL" description="CEL" start="16" size="8" />
    </Register>
    <Register name="PSR" description="FDCAN Protocol Status Register" start="+0x44" size="4" reset_value="0x00000707" reset_mask="0xFFFFFFFF">
      <BitField name="LEC" description="LEC" start="0" size="3" access="Read/Write" />
      <BitField name="ACT" description="ACT" start="3" size="2" access="ReadOnly" />
      <BitField name="EP" description="EP" start="5" size="1" access="ReadOnly" />
      <BitField name="EW" description="EW" start="6" size="1" access="ReadOnly" />
      <BitField name="BO" description="BO" start="7" size="1" access="ReadOnly" />
      <BitField name="DLEC" description="DLEC" start="8" size="3" access="Read/Write" />
      <BitField name="RESI" description="RESI" start="11" size="1" access="Read/Write" />
      <BitField name="RBRS" description="RBRS" start="12" size="1" access="Read/Write" />
      <BitField name="REDL" description="REDL" start="13" size="1" access="Read/Write" />
      <BitField name="PXE" description="PXE" start="14" size="1" access="Read/Write" />
      <BitField name="TDCV" description="TDCV" start="16" size="7" access="Read/Write" />
    </Register>
    <Register name="TDCR" description="FDCAN Transmitter Delay Compensation Register" start="+0x48" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TDCF" description="TDCF" start="0" size="7" />
      <BitField name="TDCO" description="TDCO" start="8" size="7" />
    </Register>
    <Register name="IR" description="The flags are set when one of the listed conditions is detected (edge-sensitive). The flags remain set until the Host clears them. A flag is cleared by writing a 1 to the corresponding bit position. Writing a 0 has no effect. A hard reset will clear the register. The configuration of IE controls whether an interrupt is generated. The configuration of ILS controls on which interrupt line an interrupt is signaled." start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RF0N" description="RF0N" start="0" size="1" />
      <BitField name="RF0F" description="RF0F" start="1" size="1" />
      <BitField name="RF0L" description="RF0L" start="2" size="1" />
      <BitField name="RF1N" description="RF1N" start="3" size="1" />
      <BitField name="RF1F" description="RF1F" start="4" size="1" />
      <BitField name="RF1L" description="RF1L" start="5" size="1" />
      <BitField name="HPM" description="HPM" start="6" size="1" />
      <BitField name="TC" description="TC" start="7" size="1" />
      <BitField name="TCF" description="TCF" start="8" size="1" />
      <BitField name="TFE" description="TFE" start="9" size="1" />
      <BitField name="TEFN" description="TEFN" start="10" size="1" />
      <BitField name="TEFF" description="TEFF" start="11" size="1" />
      <BitField name="TEFL" description="TEFL" start="12" size="1" />
      <BitField name="TSW" description="TSW" start="13" size="1" />
      <BitField name="MRAF" description="MRAF" start="14" size="1" />
      <BitField name="TOO" description="TOO" start="15" size="1" />
      <BitField name="ELO" description="ELO" start="16" size="1" />
      <BitField name="EP" description="EP" start="17" size="1" />
      <BitField name="EW" description="EW" start="18" size="1" />
      <BitField name="BO" description="BO" start="19" size="1" />
      <BitField name="WDI" description="WDI" start="20" size="1" />
      <BitField name="PEA" description="PEA" start="21" size="1" />
      <BitField name="PED" description="PED" start="22" size="1" />
      <BitField name="ARA" description="ARA" start="23" size="1" />
    </Register>
    <Register name="IE" description="The settings in the Interrupt Enable register determine which status changes in the Interrupt Register will be signaled on an interrupt line." start="+0x54" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RF0NE" description="RF0NE" start="0" size="1" />
      <BitField name="RF0FE" description="RF0FE" start="1" size="1" />
      <BitField name="RF0LE" description="RF0LE" start="2" size="1" />
      <BitField name="RF1NE" description="RF1NE" start="3" size="1" />
      <BitField name="RF1FE" description="RF1FE" start="4" size="1" />
      <BitField name="RF1LE" description="RF1LE" start="5" size="1" />
      <BitField name="HPME" description="HPME" start="6" size="1" />
      <BitField name="TCE" description="TCE" start="7" size="1" />
      <BitField name="TCFE" description="TCFE" start="8" size="1" />
      <BitField name="TFEE" description="TFEE" start="9" size="1" />
      <BitField name="TEFNE" description="TEFNE" start="10" size="1" />
      <BitField name="TEFFE" description="TEFFE" start="11" size="1" />
      <BitField name="TEFLE" description="TEFLE" start="12" size="1" />
      <BitField name="TSWE" description="TSWE" start="13" size="1" />
      <BitField name="MRAFE" description="MRAFE" start="14" size="1" />
      <BitField name="TOOE" description="TOOE" start="15" size="1" />
      <BitField name="ELOE" description="ELOE" start="16" size="1" />
      <BitField name="EPE" description="EPE" start="17" size="1" />
      <BitField name="EWE" description="EWE" start="18" size="1" />
      <BitField name="BOE" description="BOE" start="19" size="1" />
      <BitField name="WDIE" description="WDIE" start="20" size="1" />
      <BitField name="PEAE" description="PEAE" start="21" size="1" />
      <BitField name="PEDE" description="PEDE" start="22" size="1" />
      <BitField name="ARAE" description="ARAE" start="23" size="1" />
    </Register>
    <Register name="ILS" description="The Interrupt Line Select register assigns an interrupt generated by a specific interrupt flag from the Interrupt Register to one of the two module interrupt lines. For interrupt generation the respective interrupt line has to be enabled via ILE[EINT0] and ILE[EINT1]." start="+0x58" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RxFIFO0" description="RxFIFO0" start="0" size="1" />
      <BitField name="RxFIFO1" description="RxFIFO1" start="1" size="1" />
      <BitField name="SMSG" description="SMSG" start="2" size="1" />
      <BitField name="TFERR" description="TFERR" start="3" size="1" />
      <BitField name="MISC" description="MISC" start="4" size="1" />
      <BitField name="BERR" description="BERR" start="5" size="1" />
      <BitField name="PERR" description="PERR" start="6" size="1" />
    </Register>
    <Register name="ILE" description="Each of the two interrupt lines to the CPU can be enabled/disabled separately by programming bits EINT0 and EINT1." start="+0x5C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EINT0" description="EINT0" start="0" size="1" />
      <BitField name="EINT1" description="EINT1" start="1" size="1" />
    </Register>
    <Register name="RXGFC" description="Global settings for Message ID filtering. The Global Filter Configuration controls the filter path for standard and extended messages as described in Figure706: Standard Message ID filter path and Figure707: Extended Message ID filter path." start="+0x80" size="4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RRFE" description="RRFE" start="0" size="1" access="Read/Write" />
      <BitField name="RRFS" description="RRFS" start="1" size="1" access="Read/Write" />
      <BitField name="ANFE" description="ANFE" start="2" size="2" access="Read/Write" />
      <BitField name="ANFS" description="ANFS" start="4" size="2" access="Read/Write" />
      <BitField name="F1OM" description="F1OM" start="8" size="1" access="Read/Write" />
      <BitField name="F0OM" description="F0OM" start="9" size="1" access="Read/Write" />
      <BitField name="LSS" description="LSS" start="16" size="5" access="Read/Write" />
      <BitField name="LSE" description="LSE" start="24" size="4" access="Read/Write" />
    </Register>
    <Register name="XIDAM" description="FDCAN Extended ID and Mask Register" start="+0x84" size="4" access="Read/Write" reset_value="0x1FFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField name="EIDM" description="EIDM" start="0" size="29" />
    </Register>
    <Register name="HPMS" description="This register is updated every time a Message ID filter element configured to generate a priority event match. This can be used to monitor the status of incoming high priority messages and to enable fast access to these messages." start="+0x88" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BIDX" description="BIDX" start="0" size="3" />
      <BitField name="MSI" description="MSI" start="6" size="2" />
      <BitField name="FIDX" description="FIDX" start="8" size="5" />
      <BitField name="FLST" description="FLST" start="15" size="1" />
    </Register>
    <Register name="RXF0S" description="FDCAN Rx FIFO 0 Status Register" start="+0x90" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="F0FL" description="F0FL" start="0" size="4" />
      <BitField name="F0GI" description="F0GI" start="8" size="2" />
      <BitField name="F0PI" description="F0PI" start="16" size="2" />
      <BitField name="F0F" description="F0F" start="24" size="1" />
      <BitField name="RF0L" description="RF0L" start="25" size="1" />
    </Register>
    <Register name="RXF0A" description="CAN Rx FIFO 0 Acknowledge Register" start="+0x94" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="F0AI" description="F0AI" start="0" size="3" />
    </Register>
    <Register name="RXF1S" description="FDCAN Rx FIFO 1 Status Register" start="+0x98" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="F1FL" description="F1FL" start="0" size="4" />
      <BitField name="F1GI" description="F1GI" start="8" size="2" />
      <BitField name="F1PI" description="F1PI" start="16" size="2" />
      <BitField name="F1F" description="F1F" start="24" size="1" />
      <BitField name="RF1L" description="RF1L" start="25" size="1" />
    </Register>
    <Register name="RXF1A" description="FDCAN Rx FIFO 1 Acknowledge Register" start="+0x9C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="F1AI" description="F1AI" start="0" size="3" />
    </Register>
    <Register name="TXBC" description="FDCAN Tx Buffer Configuration Register" start="+0xC0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TFQM" description="TFQM" start="24" size="1" />
    </Register>
    <Register name="TXFQS" description="The Tx FIFO/Queue status is related to the pending Tx requests listed in register TXBRP. Therefore the effect of Add/Cancellation requests may be delayed due to a running Tx scan (TXBRP not yet updated)." start="+0xC4" size="4" access="ReadOnly" reset_value="0x00000003" reset_mask="0xFFFFFFFF">
      <BitField name="TFFL" description="TFFL" start="0" size="3" />
      <BitField name="TFGI" description="TFGI" start="8" size="2" />
      <BitField name="TFQPI" description="TFQPI" start="16" size="2" />
      <BitField name="TFQF" description="TFQF" start="21" size="1" />
    </Register>
    <Register name="TXBRP" description="FDCAN Tx Buffer Request Pending Register" start="+0xC8" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TRP" description="TRP" start="0" size="3" />
    </Register>
    <Register name="TXBAR" description="FDCAN Tx Buffer Add Request Register" start="+0xCC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="AR" description="AR" start="0" size="3" />
    </Register>
    <Register name="TXBCR" description="FDCAN Tx Buffer Cancellation Request Register" start="+0xD0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CR" description="CR" start="0" size="3" />
    </Register>
    <Register name="TXBTO" description="FDCAN Tx Buffer Transmission Occurred Register" start="+0xD4" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TO" description="TO" start="0" size="3" />
    </Register>
    <Register name="TXBCF" description="FDCAN Tx Buffer Cancellation Finished Register" start="+0xD8" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CF" description="CF" start="0" size="3" />
    </Register>
    <Register name="TXBTIE" description="FDCAN Tx Buffer Transmission Interrupt Enable Register" start="+0xDC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TIE" description="TIE" start="0" size="3" />
    </Register>
    <Register name="TXBCIE" description="FDCAN Tx Buffer Cancellation Finished Interrupt Enable Register" start="+0xE0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="CFIE" description="CFIE" start="0" size="3" />
    </Register>
    <Register name="TXEFS" description="FDCAN Tx Event FIFO Status Register" start="+0xE4" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EFFL" description="EFFL" start="0" size="3" />
      <BitField name="EFGI" description="EFGI" start="8" size="2" />
      <BitField name="EFPI" description="EFPI" start="16" size="2" />
      <BitField name="EFF" description="EFF" start="24" size="1" />
      <BitField name="TEFL" description="TEFL" start="25" size="1" />
    </Register>
    <Register name="TXEFA" description="FDCAN Tx Event FIFO Acknowledge Register" start="+0xE8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EFAI" description="EFAI" start="0" size="2" />
    </Register>
    <Register name="CKDIV" description="FDCAN CFG clock divider register" start="+0x100" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="PDIV" description="input clock divider. the APB clock could be divided prior to be used by the CAN sub" start="0" size="4" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="UCPD1" description="UCPD1" start="0x4000A000">
    <Register name="CFG1" description="UCPD configuration register 1" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="HBITCLKDIV" description="HBITCLKDIV" start="0" size="6" />
      <BitField name="IFRGAP" description="IFRGAP" start="6" size="5" />
      <BitField name="TRANSWIN" description="TRANSWIN" start="11" size="5" />
      <BitField name="PSC_USBPDCLK" description="PSC_USBPDCLK" start="17" size="3" />
      <BitField name="RXORDSETEN" description="RXORDSETEN" start="20" size="9" />
      <BitField name="TXDMAEN" description="TXDMAEN" start="29" size="1" />
      <BitField name="RXDMAEN" description="RXDMAEN" start="30" size="1" />
      <BitField name="UCPDEN" description="UCPDEN" start="31" size="1" />
    </Register>
    <Register name="CFG2" description="UCPD configuration register 2" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXFILTDIS" description="RXFILTDIS" start="0" size="1" />
      <BitField name="RXFILT2N3" description="RXFILT2N3" start="1" size="1" />
      <BitField name="FORCECLK" description="FORCECLK" start="2" size="1" />
      <BitField name="WUPEN" description="WUPEN" start="3" size="1" />
    </Register>
    <Register name="CR" description="UCPD configuration register 2" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXMODE" description="TXMODE" start="0" size="2" />
      <BitField name="TXSEND" description="TXSEND" start="2" size="1" />
      <BitField name="TXHRST" description="TXHRST" start="3" size="1" />
      <BitField name="RXMODE" description="RXMODE" start="4" size="1" />
      <BitField name="PHYRXEN" description="PHYRXEN" start="5" size="1" />
      <BitField name="PHYCCSEL" description="PHYCCSEL" start="6" size="1" />
      <BitField name="ANASUBMODE" description="ANASUBMODE" start="7" size="2" />
      <BitField name="ANAMODE" description="ANAMODE" start="9" size="1" />
      <BitField name="CCENABLE" description="CCENABLE" start="10" size="2" />
      <BitField name="FRSRXEN" description="FRSRXEN" start="16" size="1" />
      <BitField name="FRSTX" description="FRSTX" start="17" size="1" />
      <BitField name="RDCH" description="RDCH" start="18" size="1" />
      <BitField name="CC1TCDIS" description="CC1TCDIS" start="20" size="1" />
      <BitField name="CC2TCDIS" description="CC2TCDIS" start="21" size="1" />
    </Register>
    <Register name="IMR" description="UCPD Interrupt Mask Register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXISIE" description="TXISIE" start="0" size="1" />
      <BitField name="TXMSGDISCIE" description="TXMSGDISCIE" start="1" size="1" />
      <BitField name="TXMSGSENTIE" description="TXMSGSENTIE" start="2" size="1" />
      <BitField name="TXMSGABTIE" description="TXMSGABTIE" start="3" size="1" />
      <BitField name="HRSTDISCIE" description="HRSTDISCIE" start="4" size="1" />
      <BitField name="HRSTSENTIE" description="HRSTSENTIE" start="5" size="1" />
      <BitField name="TXUNDIE" description="TXUNDIE" start="6" size="1" />
      <BitField name="RXNEIE" description="RXNEIE" start="8" size="1" />
      <BitField name="RXORDDETIE" description="RXORDDETIE" start="9" size="1" />
      <BitField name="RXHRSTDETIE" description="RXHRSTDETIE" start="10" size="1" />
      <BitField name="RXOVRIE" description="RXOVRIE" start="11" size="1" />
      <BitField name="RXMSGENDIE" description="RXMSGENDIE" start="12" size="1" />
      <BitField name="TYPECEVT1IE" description="TYPECEVT1IE" start="14" size="1" />
      <BitField name="TYPECEVT2IE" description="TYPECEVT2IE" start="15" size="1" />
      <BitField name="FRSEVTIE" description="FRSEVTIE" start="20" size="1" />
    </Register>
    <Register name="SR" description="UCPD Status Register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXIS" description="TXIS" start="0" size="1" />
      <BitField name="TXMSGDISC" description="TXMSGDISC" start="1" size="1" />
      <BitField name="TXMSGSENT" description="TXMSGSENT" start="2" size="1" />
      <BitField name="TXMSGABT" description="TXMSGABT" start="3" size="1" />
      <BitField name="HRSTDISC" description="HRSTDISC" start="4" size="1" />
      <BitField name="HRSTSENT" description="HRSTSENT" start="5" size="1" />
      <BitField name="TXUND" description="TXUND" start="6" size="1" />
      <BitField name="RXNE" description="RXNE" start="8" size="1" />
      <BitField name="RXORDDET" description="RXORDDET" start="9" size="1" />
      <BitField name="RXHRSTDET" description="RXHRSTDET" start="10" size="1" />
      <BitField name="RXOVR" description="RXOVR" start="11" size="1" />
      <BitField name="RXMSGEND" description="RXMSGEND" start="12" size="1" />
      <BitField name="RXERR" description="RXERR" start="13" size="1" />
      <BitField name="TYPECEVT1" description="TYPECEVT1" start="14" size="1" />
      <BitField name="TYPECEVT2" description="TYPECEVT2" start="15" size="1" />
      <BitField name="TYPEC_VSTATE_CC1" description="TYPEC_VSTATE_CC1" start="16" size="2" />
      <BitField name="TYPEC_VSTATE_CC2" description="TYPEC_VSTATE_CC2" start="18" size="2" />
      <BitField name="FRSEVT" description="FRSEVT" start="20" size="1" />
    </Register>
    <Register name="ICR" description="UCPD Interrupt Clear Register" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXMSGDISCCF" description="TXMSGDISCCF" start="1" size="1" />
      <BitField name="TXMSGSENTCF" description="TXMSGSENTCF" start="2" size="1" />
      <BitField name="TXMSGABTCF" description="TXMSGABTCF" start="3" size="1" />
      <BitField name="HRSTDISCCF" description="HRSTDISCCF" start="4" size="1" />
      <BitField name="HRSTSENTCF" description="HRSTSENTCF" start="5" size="1" />
      <BitField name="TXUNDCF" description="TXUNDCF" start="6" size="1" />
      <BitField name="RXORDDETCF" description="RXORDDETCF" start="9" size="1" />
      <BitField name="RXHRSTDETCF" description="RXHRSTDETCF" start="10" size="1" />
      <BitField name="RXOVRCF" description="RXOVRCF" start="11" size="1" />
      <BitField name="RXMSGENDCF" description="RXMSGENDCF" start="12" size="1" />
      <BitField name="TYPECEVT1CF" description="TYPECEVT1CF" start="14" size="1" />
      <BitField name="TYPECEVT2CF" description="TYPECEVT2CF" start="15" size="1" />
      <BitField name="FRSEVTCF" description="FRSEVTCF" start="20" size="1" />
    </Register>
    <Register name="TX_ORDSET" description="UCPD Tx Ordered Set Type Register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXORDSET" description="TXORDSET" start="0" size="20" />
    </Register>
    <Register name="TX_PAYSZ" description="UCPD Tx Paysize Register" start="+0x20" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXPAYSZ" description="TXPAYSZ" start="0" size="10" />
    </Register>
    <Register name="TXDR" description="UCPD Tx Data Register" start="+0x24" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="TXDATA" description="TXDATA" start="0" size="8" />
    </Register>
    <Register name="RX_ORDSET" description="UCPD Rx Ordered Set Register" start="+0x28" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXORDSET" description="RXORDSET" start="0" size="3" />
      <BitField name="RXSOP3OF4" description="RXSOP3OF4" start="3" size="1" />
      <BitField name="RXSOPKINVALID" description="RXSOPKINVALID" start="4" size="3" />
    </Register>
    <Register name="RX_PAYSZ" description="UCPD Rx Paysize Register" start="+0x2C" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXPAYSZ" description="RXPAYSZ" start="0" size="10" />
    </Register>
    <Register name="RXDR" description="UCPD Rx Data Register" start="+0x30" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXDATA" description="RXDATA" start="0" size="8" />
    </Register>
    <Register name="RX_ORDEXT1" description="UCPD Rx Ordered Set Extension Register 1" start="+0x34" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXSOPX1" description="RXSOPX1" start="0" size="20" />
    </Register>
    <Register name="RX_ORDEXT2" description="UCPD Rx Ordered Set Extension Register 2" start="+0x38" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="RXSOPX2" description="RXSOPX2" start="0" size="20" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="USB_FS_device" description="USB_FS_device" start="0x40005C00">
    <Register name="EP0R" description="USB endpoint n register" start="+0x0" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EA" description="EA" start="0" size="4" />
      <BitField name="STAT_TX" description="STAT_TX" start="4" size="2" />
      <BitField name="DTOG_TX" description="DTOG_TX" start="6" size="1" />
      <BitField name="CTR_TX" description="CTR_TX" start="7" size="1" />
      <BitField name="EP_KIND" description="EP_KIND" start="8" size="1" />
      <BitField name="EP_TYPE" description="EP_TYPE" start="9" size="2" />
      <BitField name="SETUP" description="SETUP" start="11" size="1" />
      <BitField name="STAT_RX" description="STAT_RX" start="12" size="2" />
      <BitField name="DTOG_RX" description="DTOG_RX" start="14" size="1" />
      <BitField name="CTR_RX" description="CTR_RX" start="15" size="1" />
    </Register>
    <Register name="EP1R" description="USB endpoint n register" start="+0x4" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EA" description="EA" start="0" size="4" />
      <BitField name="STAT_TX" description="STAT_TX" start="4" size="2" />
      <BitField name="DTOG_TX" description="DTOG_TX" start="6" size="1" />
      <BitField name="CTR_TX" description="CTR_TX" start="7" size="1" />
      <BitField name="EP_KIND" description="EP_KIND" start="8" size="1" />
      <BitField name="EP_TYPE" description="EP_TYPE" start="9" size="2" />
      <BitField name="SETUP" description="SETUP" start="11" size="1" />
      <BitField name="STAT_RX" description="STAT_RX" start="12" size="2" />
      <BitField name="DTOG_RX" description="DTOG_RX" start="14" size="1" />
      <BitField name="CTR_RX" description="CTR_RX" start="15" size="1" />
    </Register>
    <Register name="EP2R" description="USB endpoint n register" start="+0x8" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EA" description="EA" start="0" size="4" />
      <BitField name="STAT_TX" description="STAT_TX" start="4" size="2" />
      <BitField name="DTOG_TX" description="DTOG_TX" start="6" size="1" />
      <BitField name="CTR_TX" description="CTR_TX" start="7" size="1" />
      <BitField name="EP_KIND" description="EP_KIND" start="8" size="1" />
      <BitField name="EP_TYPE" description="EP_TYPE" start="9" size="2" />
      <BitField name="SETUP" description="SETUP" start="11" size="1" />
      <BitField name="STAT_RX" description="STAT_RX" start="12" size="2" />
      <BitField name="DTOG_RX" description="DTOG_RX" start="14" size="1" />
      <BitField name="CTR_RX" description="CTR_RX" start="15" size="1" />
    </Register>
    <Register name="EP3R" description="USB endpoint n register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EA" description="EA" start="0" size="4" />
      <BitField name="STAT_TX" description="STAT_TX" start="4" size="2" />
      <BitField name="DTOG_TX" description="DTOG_TX" start="6" size="1" />
      <BitField name="CTR_TX" description="CTR_TX" start="7" size="1" />
      <BitField name="EP_KIND" description="EP_KIND" start="8" size="1" />
      <BitField name="EP_TYPE" description="EP_TYPE" start="9" size="2" />
      <BitField name="SETUP" description="SETUP" start="11" size="1" />
      <BitField name="STAT_RX" description="STAT_RX" start="12" size="2" />
      <BitField name="DTOG_RX" description="DTOG_RX" start="14" size="1" />
      <BitField name="CTR_RX" description="CTR_RX" start="15" size="1" />
    </Register>
    <Register name="EP4R" description="USB endpoint n register" start="+0x10" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EA" description="EA" start="0" size="4" />
      <BitField name="STAT_TX" description="STAT_TX" start="4" size="2" />
      <BitField name="DTOG_TX" description="DTOG_TX" start="6" size="1" />
      <BitField name="CTR_TX" description="CTR_TX" start="7" size="1" />
      <BitField name="EP_KIND" description="EP_KIND" start="8" size="1" />
      <BitField name="EP_TYPE" description="EP_TYPE" start="9" size="2" />
      <BitField name="SETUP" description="SETUP" start="11" size="1" />
      <BitField name="STAT_RX" description="STAT_RX" start="12" size="2" />
      <BitField name="DTOG_RX" description="DTOG_RX" start="14" size="1" />
      <BitField name="CTR_RX" description="CTR_RX" start="15" size="1" />
    </Register>
    <Register name="EP5R" description="USB endpoint n register" start="+0x14" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EA" description="EA" start="0" size="4" />
      <BitField name="STAT_TX" description="STAT_TX" start="4" size="2" />
      <BitField name="DTOG_TX" description="DTOG_TX" start="6" size="1" />
      <BitField name="CTR_TX" description="CTR_TX" start="7" size="1" />
      <BitField name="EP_KIND" description="EP_KIND" start="8" size="1" />
      <BitField name="EP_TYPE" description="EP_TYPE" start="9" size="2" />
      <BitField name="SETUP" description="SETUP" start="11" size="1" />
      <BitField name="STAT_RX" description="STAT_RX" start="12" size="2" />
      <BitField name="DTOG_RX" description="DTOG_RX" start="14" size="1" />
      <BitField name="CTR_RX" description="CTR_RX" start="15" size="1" />
    </Register>
    <Register name="EP6R" description="USB endpoint n register" start="+0x18" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EA" description="EA" start="0" size="4" />
      <BitField name="STAT_TX" description="STAT_TX" start="4" size="2" />
      <BitField name="DTOG_TX" description="DTOG_TX" start="6" size="1" />
      <BitField name="CTR_TX" description="CTR_TX" start="7" size="1" />
      <BitField name="EP_KIND" description="EP_KIND" start="8" size="1" />
      <BitField name="EP_TYPE" description="EP_TYPE" start="9" size="2" />
      <BitField name="SETUP" description="SETUP" start="11" size="1" />
      <BitField name="STAT_RX" description="STAT_RX" start="12" size="2" />
      <BitField name="DTOG_RX" description="DTOG_RX" start="14" size="1" />
      <BitField name="CTR_RX" description="CTR_RX" start="15" size="1" />
    </Register>
    <Register name="EP7R" description="USB endpoint n register" start="+0x1C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EA" description="EA" start="0" size="4" />
      <BitField name="STAT_TX" description="STAT_TX" start="4" size="2" />
      <BitField name="DTOG_TX" description="DTOG_TX" start="6" size="1" />
      <BitField name="CTR_TX" description="CTR_TX" start="7" size="1" />
      <BitField name="EP_KIND" description="EP_KIND" start="8" size="1" />
      <BitField name="EP_TYPE" description="EP_TYPE" start="9" size="2" />
      <BitField name="SETUP" description="SETUP" start="11" size="1" />
      <BitField name="STAT_RX" description="STAT_RX" start="12" size="2" />
      <BitField name="DTOG_RX" description="DTOG_RX" start="14" size="1" />
      <BitField name="CTR_RX" description="CTR_RX" start="15" size="1" />
    </Register>
    <Register name="CNTR" description="USB control register" start="+0x40" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="FRES" description="FRES" start="0" size="1" />
      <BitField name="PDWN" description="PDWN" start="1" size="1" />
      <BitField name="LP_MODE" description="LP_MODE" start="2" size="1" />
      <BitField name="FSUSP" description="FSUSP" start="3" size="1" />
      <BitField name="RESUME" description="RESUME" start="4" size="1" />
      <BitField name="L1RESUME" description="L1RESUME" start="5" size="1" />
      <BitField name="L1REQM" description="L1REQM" start="7" size="1" />
      <BitField name="ESOFM" description="ESOFM" start="8" size="1" />
      <BitField name="SOFM" description="SOFM" start="9" size="1" />
      <BitField name="RESETM" description="RESETM" start="10" size="1" />
      <BitField name="SUSPM" description="SUSPM" start="11" size="1" />
      <BitField name="WKUPM" description="WKUPM" start="12" size="1" />
      <BitField name="ERRM" description="ERRM" start="13" size="1" />
      <BitField name="PMAOVRM" description="PMAOVRM" start="14" size="1" />
      <BitField name="CTRM" description="CTRM" start="15" size="1" />
    </Register>
    <Register name="ISTR" description="USB interrupt status register" start="+0x44" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="EP_ID" description="EP_ID" start="0" size="4" />
      <BitField name="DIR" description="DIR" start="4" size="1" />
      <BitField name="L1REQ" description="L1REQ" start="7" size="1" />
      <BitField name="ESOF" description="ESOF" start="8" size="1" />
      <BitField name="SOF" description="SOF" start="9" size="1" />
      <BitField name="RESET" description="RESET" start="10" size="1" />
      <BitField name="SUSP" description="SUSP" start="11" size="1" />
      <BitField name="WKUP" description="WKUP" start="12" size="1" />
      <BitField name="ERR" description="ERR" start="13" size="1" />
      <BitField name="PMAOVR" description="PMAOVR" start="14" size="1" />
      <BitField name="CTR" description="CTR" start="15" size="1" />
    </Register>
    <Register name="FNR" description="USB frame number register" start="+0x48" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="FN" description="FN" start="0" size="11" />
      <BitField name="LSOF" description="LSOF" start="11" size="2" />
      <BitField name="LCK" description="LCK" start="13" size="1" />
      <BitField name="RXDM" description="RXDM" start="14" size="1" />
      <BitField name="RXDP" description="RXDP" start="15" size="1" />
    </Register>
    <Register name="DADDR" description="USB device address" start="+0x4C" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="ADD" description="ADD" start="0" size="7" />
      <BitField name="EF" description="EF" start="7" size="1" />
    </Register>
    <Register name="BTABLE" description="Buffer table address" start="+0x50" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="BTABLE" description="BTABLE" start="3" size="13" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="CRS" description="CRS" start="0x40002000">
    <Register name="CR" description="CRS control register" start="+0x0" size="4" reset_value="0x00004000" reset_mask="0xFFFFFFFF">
      <BitField name="SYNCOKIE" description="SYNC event OK interrupt enable" start="0" size="1" access="Read/Write" />
      <BitField name="SYNCWARNIE" description="SYNC warning interrupt enable" start="1" size="1" access="Read/Write" />
      <BitField name="ERRIE" description="Synchronization or trimming error interrupt enable" start="2" size="1" access="Read/Write" />
      <BitField name="ESYNCIE" description="Expected SYNC interrupt enable" start="3" size="1" access="Read/Write" />
      <BitField name="CEN" description="Frequency error counter enable This bit enables the oscillator clock for the frequency error counter. When this bit is set, the CRS_CFGR register is write-protected and cannot be modified." start="5" size="1" access="Read/Write" />
      <BitField name="AUTOTRIMEN" description="Automatic trimming enable This bit enables the automatic hardware adjustment of TRIM bits according to the measured frequency error between two SYNC events. If this bit is set, the TRIM bits are read-only. The TRIM value can be adjusted by hardware by one or two steps at a time, depending on the measured frequency error value. Refer to Section7.3.4: Frequency error evaluation and automatic trimming for more details." start="6" size="1" access="Read/Write" />
      <BitField name="SWSYNC" description="Generate software SYNC event This bit is set by software in order to generate a software SYNC event. It is automatically cleared by hardware." start="7" size="1" access="Read/Write" />
      <BitField name="TRIM" description="HSI48 oscillator smooth trimming These bits provide a user-programmable trimming value to the HSI48 oscillator. They can be programmed to adjust to variations in voltage and temperature that influence the frequency of the HSI48. The default value is 32, which corresponds to the middle of the trimming interval. The trimming step is around 67 kHz between two consecutive TRIM steps. A higher TRIM value corresponds to a higher output frequency. When the AUTOTRIMEN bit is set, this field is controlled by hardware and is read-only." start="8" size="7" access="Read/Write" />
    </Register>
    <Register name="CFGR" description="This register can be written only when the frequency error counter is disabled (CEN bit is cleared in CRS_CR). When the counter is enabled, this register is write-protected." start="+0x4" size="4" access="Read/Write" reset_value="0x2022BB7F" reset_mask="0xFFFFFFFF">
      <BitField name="RELOAD" description="Counter reload value RELOAD is the value to be loaded in the frequency error counter with each SYNC event. Refer to Section7.3.3: Frequency error measurement for more details about counter behavior." start="0" size="16" />
      <BitField name="FELIM" description="Frequency error limit FELIM contains the value to be used to evaluate the captured frequency error value latched in the FECAP[15:0] bits of the CRS_ISR register. Refer to Section7.3.4: Frequency error evaluation and automatic trimming for more details about FECAP evaluation." start="16" size="8" />
      <BitField name="SYNCDIV" description="SYNC divider These bits are set and cleared by software to control the division factor of the SYNC signal." start="24" size="3" />
      <BitField name="SYNCSRC" description="SYNC signal source selection These bits are set and cleared by software to select the SYNC signal source. Note: When using USB LPM (Link Power Management) and the device is in Sleep mode, the periodic USB SOF will not be generated by the host. No SYNC signal will therefore be provided to the CRS to calibrate the HSI48 on the run. To guarantee the required clock precision after waking up from Sleep mode, the LSE or reference clock on the GPIOs should be used as SYNC signal." start="28" size="2" />
      <BitField name="SYNCPOL" description="SYNC polarity selection This bit is set and cleared by software to select the input polarity for the SYNC signal source." start="31" size="1" />
    </Register>
    <Register name="ISR" description="CRS interrupt and status register" start="+0x8" size="4" access="ReadOnly" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SYNCOKF" description="SYNC event OK flag This flag is set by hardware when the measured frequency error is smaller than FELIM * 3. This means that either no adjustment of the TRIM value is needed or that an adjustment by one trimming step is enough to compensate the frequency error. An interrupt is generated if the SYNCOKIE bit is set in the CRS_CR register. It is cleared by software by setting the SYNCOKC bit in the CRS_ICR register." start="0" size="1" />
      <BitField name="SYNCWARNF" description="SYNC warning flag This flag is set by hardware when the measured frequency error is greater than or equal to FELIM * 3, but smaller than FELIM * 128. This means that to compensate the frequency error, the TRIM value must be adjusted by two steps or more. An interrupt is generated if the SYNCWARNIE bit is set in the CRS_CR register. It is cleared by software by setting the SYNCWARNC bit in the CRS_ICR register." start="1" size="1" />
      <BitField name="ERRF" description="Error flag This flag is set by hardware in case of any synchronization or trimming error. It is the logical OR of the TRIMOVF, SYNCMISS and SYNCERR bits. An interrupt is generated if the ERRIE bit is set in the CRS_CR register. It is cleared by software in reaction to setting the ERRC bit in the CRS_ICR register, which clears the TRIMOVF, SYNCMISS and SYNCERR bits." start="2" size="1" />
      <BitField name="ESYNCF" description="Expected SYNC flag This flag is set by hardware when the frequency error counter reached a zero value. An interrupt is generated if the ESYNCIE bit is set in the CRS_CR register. It is cleared by software by setting the ESYNCC bit in the CRS_ICR register." start="3" size="1" />
      <BitField name="SYNCERR" description="SYNC error This flag is set by hardware when the SYNC pulse arrives before the ESYNC event and the measured frequency error is greater than or equal to FELIM * 128. This means that the frequency error is too big (internal frequency too low) to be compensated by adjusting the TRIM value, and that some other action should be taken. An interrupt is generated if the ERRIE bit is set in the CRS_CR register. It is cleared by software by setting the ERRC bit in the CRS_ICR register." start="8" size="1" />
      <BitField name="SYNCMISS" description="SYNC missed This flag is set by hardware when the frequency error counter reached value FELIM * 128 and no SYNC was detected, meaning either that a SYNC pulse was missed or that the frequency error is too big (internal frequency too high) to be compensated by adjusting the TRIM value, and that some other action should be taken. At this point, the frequency error counter is stopped (waiting for a next SYNC) and an interrupt is generated if the ERRIE bit is set in the CRS_CR register. It is cleared by software by setting the ERRC bit in the CRS_ICR register." start="9" size="1" />
      <BitField name="TRIMOVF" description="Trimming overflow or underflow This flag is set by hardware when the automatic trimming tries to over- or under-flow the TRIM value. An interrupt is generated if the ERRIE bit is set in the CRS_CR register. It is cleared by software by setting the ERRC bit in the CRS_ICR register." start="10" size="1" />
      <BitField name="FEDIR" description="Frequency error direction FEDIR is the counting direction of the frequency error counter latched in the time of the last SYNC event. It shows whether the actual frequency is below or above the target." start="15" size="1" />
      <BitField name="FECAP" description="Frequency error capture FECAP is the frequency error counter value latched in the time ofthe last SYNC event. Refer to Section7.3.4: Frequency error evaluation and automatic trimming for more details about FECAP usage." start="16" size="16" />
    </Register>
    <Register name="ICR" description="CRS interrupt flag clear register" start="+0xC" size="4" access="Read/Write" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField name="SYNCOKC" description="SYNC event OK clear flag Writing 1 to this bit clears the SYNCOKF flag in the CRS_ISR register." start="0" size="1" />
      <BitField name="SYNCWARNC" description="SYNC warning clear flag Writing 1 to this bit clears the SYNCWARNF flag in the CRS_ISR register." start="1" size="1" />
      <BitField name="ERRC" description="Error clear flag Writing 1 to this bit clears TRIMOVF, SYNCMISS and SYNCERR bits and consequently also the ERRF flag in the CRS_ISR register." start="2" size="1" />
      <BitField name="ESYNCC" description="Expected SYNC clear flag Writing 1 to this bit clears the ESYNCF flag in the CRS_ISR register." start="3" size="1" />
    </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 start="0" size="1" name="ENABLE" description="Enable SysTick Timer" />
      <BitField start="1" size="1" name="TICKINT" description="Tick Interrupt Enable" />
      <BitField start="2" size="1" name="CLKSOURCE" description="Timer Clock Source" />
      <BitField start="16" size="1" name="COUNTFLAG" description="Counter Flag" />
    </Register>
    <Register name="SYST_RVR" start="0xE000E014" description="SysTick Reload Value Register">
      <BitField start="0" size="24" name="RELOAD" 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 start="0" size="24" name="CURRENT" description="The current value of the SysTick counter" />
    </Register>
    <Register name="SYST_CALIB" start="0xE000E01C" description="SysTick Calibration Value Register" access="ReadOnly">
      <BitField start="0" size="24" name="TENMS" description="Reload value for 10ms (100Hz) timing, subject to system clock skew errors" />
      <BitField start="30" size="1" name="SKEW" description="Indicates whether the TENMS value is exact" />
      <BitField start="31" size="1" name="NOREF" description="Indicates whether the device provides a reference clock to the processor" />
    </Register>
  </RegisterGroup>
</Processor>
