text: #pragma once 
  #include <Register/Utility.hpp>
  namespace Kvasir {
  //Universal Synchronous Asynchronous Receiver Transmitter 2
      namespace Usart2Cr{    ///<Control Register
          using Addr = Register::Address<0xf8024000,0xffc30003,0x00000000,unsigned>;
          ///Reset Receiver
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(2,2),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rstrx{}; 
          ///Reset Transmitter
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(3,3),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rsttx{}; 
          ///Receiver Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(4,4),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxen{}; 
          ///Receiver Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,5),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxdis{}; 
          ///Transmitter Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(6,6),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txen{}; 
          ///Transmitter Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,7),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txdis{}; 
          ///Reset Status Bits
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(8,8),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rststa{}; 
          ///Start Break
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(9,9),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> sttbrk{}; 
          ///Stop Break
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(10,10),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> stpbrk{}; 
          ///Start Time-out
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(11,11),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> sttto{}; 
          ///Send Address
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(12,12),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> senda{}; 
          ///Reset Iterations
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(13,13),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rstit{}; 
          ///Reset Non Acknowledge
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(14,14),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rstnack{}; 
          ///Rearm Time-out
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(15,15),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> retto{}; 
          ///Request to Send Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(18,18),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rtsen{}; 
          ///Request to Send Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(19,19),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rtsdis{}; 
          ///Abort LIN Transmission
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(20,20),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linabt{}; 
          ///Send LIN Wakeup Signal
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(21,21),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linwkup{}; 
      }
      namespace Usart2CrSpiMode{    ///<Control Register
          using Addr = Register::Address<0xf8024000,0xfff3fe03,0x00000000,unsigned>;
          ///Reset Receiver
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(2,2),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rstrx{}; 
          ///Reset Transmitter
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(3,3),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rsttx{}; 
          ///Receiver Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(4,4),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxen{}; 
          ///Receiver Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,5),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxdis{}; 
          ///Transmitter Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(6,6),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txen{}; 
          ///Transmitter Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,7),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txdis{}; 
          ///Reset Status Bits
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(8,8),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rststa{}; 
          ///Force SPI Chip Select
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(18,18),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> fcs{}; 
          ///Release SPI Chip Select
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(19,19),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rcs{}; 
      }
      namespace Usart2Mr{    ///<Mode Register
          using Addr = Register::Address<0xf8024004,0x08000000,0x00000000,unsigned>;
          ///USART Mode of Operation
          enum class UsartmodeVal {
              normal=0x00000000,     ///<Normal mode
              rs485=0x00000001,     ///<RS485
              hwHandshaking=0x00000002,     ///<Hardware Handshaking
              is07816T0=0x00000004,     ///<IS07816 Protocol: T = 0
              is07816T1=0x00000006,     ///<IS07816 Protocol: T = 1
              irda=0x00000008,     ///<IrDA
              linMaster=0x0000000a,     ///<LIN Master
              linSlave=0x0000000b,     ///<LIN Slave
              spiMaster=0x0000000e,     ///<SPI Master
              spiSlave=0x0000000f,     ///<SPI Slave
          };
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(3,0),Register::ReadWriteAccess,UsartmodeVal> usartMode{}; 
          namespace UsartmodeValC{
              constexpr Register::FieldValue<decltype(usartMode)::Type,UsartmodeVal::normal> normal{};
              constexpr Register::FieldValue<decltype(usartMode)::Type,UsartmodeVal::rs485> rs485{};
              constexpr Register::FieldValue<decltype(usartMode)::Type,UsartmodeVal::hwHandshaking> hwHandshaking{};
              constexpr Register::FieldValue<decltype(usartMode)::Type,UsartmodeVal::is07816T0> is07816T0{};
              constexpr Register::FieldValue<decltype(usartMode)::Type,UsartmodeVal::is07816T1> is07816T1{};
              constexpr Register::FieldValue<decltype(usartMode)::Type,UsartmodeVal::irda> irda{};
              constexpr Register::FieldValue<decltype(usartMode)::Type,UsartmodeVal::linMaster> linMaster{};
              constexpr Register::FieldValue<decltype(usartMode)::Type,UsartmodeVal::linSlave> linSlave{};
              constexpr Register::FieldValue<decltype(usartMode)::Type,UsartmodeVal::spiMaster> spiMaster{};
              constexpr Register::FieldValue<decltype(usartMode)::Type,UsartmodeVal::spiSlave> spiSlave{};
          }
          ///Clock Selection
          enum class UsclksVal {
              mck=0x00000000,     ///<Master Clock MCK is selected
              div=0x00000001,     ///<Internal Clock Divided MCK/DIV (DIV=8) is selected
              sck=0x00000003,     ///<Serial Clock SLK is selected
          };
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,4),Register::ReadWriteAccess,UsclksVal> usclks{}; 
          namespace UsclksValC{
              constexpr Register::FieldValue<decltype(usclks)::Type,UsclksVal::mck> mck{};
              constexpr Register::FieldValue<decltype(usclks)::Type,UsclksVal::div> div{};
              constexpr Register::FieldValue<decltype(usclks)::Type,UsclksVal::sck> sck{};
          }
          ///Character Length.
          enum class ChrlVal {
              v5Bit=0x00000000,     ///<Character length is 5 bits
              v6Bit=0x00000001,     ///<Character length is 6 bits
              v7Bit=0x00000002,     ///<Character length is 7 bits
              v8Bit=0x00000003,     ///<Character length is 8 bits
          };
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,6),Register::ReadWriteAccess,ChrlVal> chrl{}; 
          namespace ChrlValC{
              constexpr Register::FieldValue<decltype(chrl)::Type,ChrlVal::v5Bit> v5Bit{};
              constexpr Register::FieldValue<decltype(chrl)::Type,ChrlVal::v6Bit> v6Bit{};
              constexpr Register::FieldValue<decltype(chrl)::Type,ChrlVal::v7Bit> v7Bit{};
              constexpr Register::FieldValue<decltype(chrl)::Type,ChrlVal::v8Bit> v8Bit{};
          }
          ///Synchronous Mode Select
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(8,8),Register::ReadWriteAccess,unsigned> sync{}; 
          ///Parity Type
          enum class ParVal {
              even=0x00000000,     ///<Even parity
              odd=0x00000001,     ///<Odd parity
              space=0x00000002,     ///<Parity forced to 0 (Space)
              mark=0x00000003,     ///<Parity forced to 1 (Mark)
              no=0x00000004,     ///<No parity
              multidrop=0x00000006,     ///<Multidrop mode
          };
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(11,9),Register::ReadWriteAccess,ParVal> par{}; 
          namespace ParValC{
              constexpr Register::FieldValue<decltype(par)::Type,ParVal::even> even{};
              constexpr Register::FieldValue<decltype(par)::Type,ParVal::odd> odd{};
              constexpr Register::FieldValue<decltype(par)::Type,ParVal::space> space{};
              constexpr Register::FieldValue<decltype(par)::Type,ParVal::mark> mark{};
              constexpr Register::FieldValue<decltype(par)::Type,ParVal::no> no{};
              constexpr Register::FieldValue<decltype(par)::Type,ParVal::multidrop> multidrop{};
          }
          ///Number of Stop Bits
          enum class NbstopVal {
              v1Bit=0x00000000,     ///<1 stop bit
              v15Bit=0x00000001,     ///<1.5 stop bit (SYNC = 0) or reserved (SYNC = 1)
              v2Bit=0x00000002,     ///<2 stop bits
          };
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(13,12),Register::ReadWriteAccess,NbstopVal> nbstop{}; 
          namespace NbstopValC{
              constexpr Register::FieldValue<decltype(nbstop)::Type,NbstopVal::v1Bit> v1Bit{};
              constexpr Register::FieldValue<decltype(nbstop)::Type,NbstopVal::v15Bit> v15Bit{};
              constexpr Register::FieldValue<decltype(nbstop)::Type,NbstopVal::v2Bit> v2Bit{};
          }
          ///Channel Mode
          enum class ChmodeVal {
              normal=0x00000000,     ///<Normal Mode
              automatic=0x00000001,     ///<Automatic Echo. Receiver input is connected to the TXD pin.
              localLoopback=0x00000002,     ///<Local Loopback. Transmitter output is connected to the Receiver Input.
              remoteLoopback=0x00000003,     ///<Remote Loopback. RXD pin is internally connected to the TXD pin.
          };
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(15,14),Register::ReadWriteAccess,ChmodeVal> chmode{}; 
          namespace ChmodeValC{
              constexpr Register::FieldValue<decltype(chmode)::Type,ChmodeVal::normal> normal{};
              constexpr Register::FieldValue<decltype(chmode)::Type,ChmodeVal::automatic> automatic{};
              constexpr Register::FieldValue<decltype(chmode)::Type,ChmodeVal::localLoopback> localLoopback{};
              constexpr Register::FieldValue<decltype(chmode)::Type,ChmodeVal::remoteLoopback> remoteLoopback{};
          }
          ///Bit Order
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(16,16),Register::ReadWriteAccess,unsigned> msbf{}; 
          ///9-bit Character Length
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(17,17),Register::ReadWriteAccess,unsigned> mode9{}; 
          ///Clock Output Select
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(18,18),Register::ReadWriteAccess,unsigned> clko{}; 
          ///Oversampling Mode
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(19,19),Register::ReadWriteAccess,unsigned> over{}; 
          ///Inhibit Non Acknowledge
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(20,20),Register::ReadWriteAccess,unsigned> inack{}; 
          ///Disable Successive NACK
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(21,21),Register::ReadWriteAccess,unsigned> dsnack{}; 
          ///Variable Synchronization of Command/Data Sync Start Frame Delimiter
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(22,22),Register::ReadWriteAccess,unsigned> varSync{}; 
          ///INverted Data
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(23,23),Register::ReadWriteAccess,unsigned> invdata{}; 
          ///Maximum Number of Automatic Iteration
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(26,24),Register::ReadWriteAccess,unsigned> maxIteration{}; 
          ///Infrared Receive Line Filter
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(28,28),Register::ReadWriteAccess,unsigned> filter{}; 
          ///Manchester Encoder/Decoder Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(29,29),Register::ReadWriteAccess,unsigned> man{}; 
          ///Manchester Synchronization Mode
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(30,30),Register::ReadWriteAccess,unsigned> modsync{}; 
          ///Start Frame Delimiter Selector
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(31,31),Register::ReadWriteAccess,unsigned> onebit{}; 
      }
      namespace Usart2MrSpiMode{    ///<Mode Register
          using Addr = Register::Address<0xf8024004,0xffeefe00,0x00000000,unsigned>;
          ///USART Mode of Operation
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(3,0),Register::ReadWriteAccess,unsigned> usartMode{}; 
          ///Clock Selection
          enum class UsclksVal {
              mck=0x00000000,     ///<Master Clock MCK is selected
              div=0x00000001,     ///<Internal Clock Divided MCK/DIV (DIV=8) is selected
              sck=0x00000003,     ///<Serial Clock SLK is selected
          };
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,4),Register::ReadWriteAccess,UsclksVal> usclks{}; 
          namespace UsclksValC{
              constexpr Register::FieldValue<decltype(usclks)::Type,UsclksVal::mck> mck{};
              constexpr Register::FieldValue<decltype(usclks)::Type,UsclksVal::div> div{};
              constexpr Register::FieldValue<decltype(usclks)::Type,UsclksVal::sck> sck{};
          }
          ///Character Length.
          enum class ChrlVal {
              v8Bit=0x00000003,     ///<Character length is 8 bits
          };
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,6),Register::ReadWriteAccess,ChrlVal> chrl{}; 
          namespace ChrlValC{
              constexpr Register::FieldValue<decltype(chrl)::Type,ChrlVal::v8Bit> v8Bit{};
          }
          ///SPI Clock Phase
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(8,8),Register::ReadWriteAccess,unsigned> cpha{}; 
          ///SPI Clock Polarity
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(16,16),Register::ReadWriteAccess,unsigned> cpol{}; 
          ///Wait Read Data Before Transfer
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(20,20),Register::ReadWriteAccess,unsigned> wrdbt{}; 
      }
      namespace Usart2Ier{    ///<Interrupt Enable Register
          using Addr = Register::Address<0xf8024008,0xfef7d818,0x00000000,unsigned>;
          ///RXRDY Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(0,0),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxrdy{}; 
          ///TXRDY Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(1,1),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txrdy{}; 
          ///Receiver Break Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(2,2),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxbrk{}; 
          ///Overrun Error Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,5),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> ovre{}; 
          ///Framing Error Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(6,6),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> frame{}; 
          ///Parity Error Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,7),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> pare{}; 
          ///Time-out Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(8,8),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> timeout{}; 
          ///TXEMPTY Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(9,9),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txempty{}; 
          ///Max number of Repetitions Reached Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(10,10),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> iter{}; 
          ///Non Acknowledge Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(13,13),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> nack{}; 
          ///Clear to Send Input Change Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(19,19),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> ctsic{}; 
          ///Manchester Error Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(24,24),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> mane{}; 
      }
      namespace Usart2IerSpiMode{    ///<Interrupt Enable Register
          using Addr = Register::Address<0xf8024008,0xfffff9dc,0x00000000,unsigned>;
          ///RXRDY Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(0,0),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxrdy{}; 
          ///TXRDY Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(1,1),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txrdy{}; 
          ///Overrun Error Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,5),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> ovre{}; 
          ///TXEMPTY Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(9,9),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txempty{}; 
          ///SPI Underrun Error Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(10,10),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> unre{}; 
      }
      namespace Usart2IerLinMode{    ///<Interrupt Enable Register
          using Addr = Register::Address<0xf8024008,0xc1ff1c1c,0x00000000,unsigned>;
          ///RXRDY Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(0,0),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxrdy{}; 
          ///TXRDY Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(1,1),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txrdy{}; 
          ///Overrun Error Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,5),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> ovre{}; 
          ///Framing Error Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(6,6),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> frame{}; 
          ///Parity Error Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,7),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> pare{}; 
          ///Time-out Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(8,8),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> timeout{}; 
          ///TXEMPTY Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(9,9),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txempty{}; 
          ///LIN Break Sent or LIN Break Received Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(13,13),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linbk{}; 
          ///LIN Identifier Sent or LIN Identifier Received Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(14,14),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linid{}; 
          ///LIN Transfer Completed Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(15,15),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> lintc{}; 
          ///LIN Bus Error Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(25,25),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linbe{}; 
          ///LIN Inconsistent Synch Field Error Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(26,26),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linisfe{}; 
          ///LIN Identifier Parity Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(27,27),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linipe{}; 
          ///LIN Checksum Error Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(28,28),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> lince{}; 
          ///LIN Slave Not Responding Error Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(29,29),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linsnre{}; 
      }
      namespace Usart2Idr{    ///<Interrupt Disable Register
          using Addr = Register::Address<0xf802400c,0xfef7d818,0x00000000,unsigned>;
          ///RXRDY Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(0,0),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxrdy{}; 
          ///TXRDY Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(1,1),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txrdy{}; 
          ///Receiver Break Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(2,2),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxbrk{}; 
          ///Overrun Error Interrupt Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,5),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> ovre{}; 
          ///Framing Error Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(6,6),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> frame{}; 
          ///Parity Error Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,7),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> pare{}; 
          ///Time-out Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(8,8),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> timeout{}; 
          ///TXEMPTY Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(9,9),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txempty{}; 
          ///Max number of Repetitions Reached Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(10,10),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> iter{}; 
          ///Non Acknowledge Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(13,13),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> nack{}; 
          ///Clear to Send Input Change Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(19,19),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> ctsic{}; 
          ///Manchester Error Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(24,24),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> mane{}; 
      }
      namespace Usart2IdrSpiMode{    ///<Interrupt Disable Register
          using Addr = Register::Address<0xf802400c,0xfffff9dc,0x00000000,unsigned>;
          ///RXRDY Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(0,0),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxrdy{}; 
          ///TXRDY Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(1,1),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txrdy{}; 
          ///Overrun Error Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,5),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> ovre{}; 
          ///TXEMPTY Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(9,9),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txempty{}; 
          ///SPI Underrun Error Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(10,10),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> unre{}; 
      }
      namespace Usart2IdrLinMode{    ///<Interrupt Disable Register
          using Addr = Register::Address<0xf802400c,0xc1ff1c1c,0x00000000,unsigned>;
          ///RXRDY Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(0,0),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxrdy{}; 
          ///TXRDY Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(1,1),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txrdy{}; 
          ///Overrun Error Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,5),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> ovre{}; 
          ///Framing Error Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(6,6),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> frame{}; 
          ///Parity Error Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,7),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> pare{}; 
          ///Time-out Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(8,8),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> timeout{}; 
          ///TXEMPTY Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(9,9),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txempty{}; 
          ///LIN Break Sent or LIN Break Received Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(13,13),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linbk{}; 
          ///LIN Identifier Sent or LIN Identifier Received Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(14,14),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linid{}; 
          ///LIN Transfer Completed Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(15,15),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> lintc{}; 
          ///LIN Bus Error Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(25,25),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linbe{}; 
          ///LIN Inconsistent Synch Field Error Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(26,26),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linisfe{}; 
          ///LIN Identifier Parity Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(27,27),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linipe{}; 
          ///LIN Checksum Error Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(28,28),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> lince{}; 
          ///LIN Slave Not Responding Error Interrupt Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(29,29),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linsnre{}; 
      }
      namespace Usart2Imr{    ///<Interrupt Mask Register
          using Addr = Register::Address<0xf8024010,0xfef7d818,0x00000000,unsigned>;
          ///RXRDY Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(0,0),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxrdy{}; 
          ///TXRDY Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(1,1),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txrdy{}; 
          ///Receiver Break Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(2,2),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxbrk{}; 
          ///Overrun Error Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,5),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> ovre{}; 
          ///Framing Error Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(6,6),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> frame{}; 
          ///Parity Error Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,7),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> pare{}; 
          ///Time-out Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(8,8),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> timeout{}; 
          ///TXEMPTY Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(9,9),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txempty{}; 
          ///Max number of Repetitions Reached Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(10,10),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> iter{}; 
          ///Non Acknowledge Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(13,13),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> nack{}; 
          ///Clear to Send Input Change Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(19,19),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> ctsic{}; 
          ///Manchester Error Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(24,24),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> mane{}; 
      }
      namespace Usart2ImrSpiMode{    ///<Interrupt Mask Register
          using Addr = Register::Address<0xf8024010,0xfffff9dc,0x00000000,unsigned>;
          ///RXRDY Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(0,0),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxrdy{}; 
          ///TXRDY Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(1,1),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txrdy{}; 
          ///Overrun Error Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,5),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> ovre{}; 
          ///TXEMPTY Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(9,9),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txempty{}; 
          ///SPI Underrun Error Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(10,10),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> unre{}; 
      }
      namespace Usart2ImrLinMode{    ///<Interrupt Mask Register
          using Addr = Register::Address<0xf8024010,0xc1ff1c1c,0x00000000,unsigned>;
          ///RXRDY Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(0,0),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxrdy{}; 
          ///TXRDY Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(1,1),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txrdy{}; 
          ///Overrun Error Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,5),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> ovre{}; 
          ///Framing Error Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(6,6),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> frame{}; 
          ///Parity Error Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,7),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> pare{}; 
          ///Time-out Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(8,8),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> timeout{}; 
          ///TXEMPTY Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(9,9),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txempty{}; 
          ///LIN Break Sent or LIN Break Received Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(13,13),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linbk{}; 
          ///LIN Identifier Sent or LIN Identifier Received Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(14,14),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linid{}; 
          ///LIN Transfer Completed Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(15,15),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> lintc{}; 
          ///LIN Bus Error Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(25,25),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linbe{}; 
          ///LIN Inconsistent Synch Field Error Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(26,26),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linisfe{}; 
          ///LIN Identifier Parity Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(27,27),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linipe{}; 
          ///LIN Checksum Error Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(28,28),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> lince{}; 
          ///LIN Slave Not Responding Error Interrupt Mask
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(29,29),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linsnre{}; 
      }
      namespace Usart2Csr{    ///<Channel Status Register
          using Addr = Register::Address<0xf8024014,0xfe77d818,0x00000000,unsigned>;
          ///Receiver Ready
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(0,0),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxrdy{}; 
          ///Transmitter Ready
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(1,1),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txrdy{}; 
          ///Break Received/End of Break
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(2,2),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxbrk{}; 
          ///Overrun Error
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,5),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> ovre{}; 
          ///Framing Error
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(6,6),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> frame{}; 
          ///Parity Error
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,7),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> pare{}; 
          ///Receiver Time-out
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(8,8),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> timeout{}; 
          ///Transmitter Empty
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(9,9),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txempty{}; 
          ///Max number of Repetitions Reached
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(10,10),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> iter{}; 
          ///Non Acknowledge Interrupt
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(13,13),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> nack{}; 
          ///Clear to Send Input Change Flag
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(19,19),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> ctsic{}; 
          ///Image of CTS Input
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(23,23),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> cts{}; 
          ///Manchester Error
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(24,24),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> manerr{}; 
      }
      namespace Usart2CsrSpiMode{    ///<Channel Status Register
          using Addr = Register::Address<0xf8024014,0xfffff9dc,0x00000000,unsigned>;
          ///Receiver Ready
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(0,0),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxrdy{}; 
          ///Transmitter Ready
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(1,1),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txrdy{}; 
          ///Overrun Error
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,5),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> ovre{}; 
          ///Transmitter Empty
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(9,9),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txempty{}; 
          ///Underrun Error
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(10,10),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> unre{}; 
      }
      namespace Usart2CsrLinMode{    ///<Channel Status Register
          using Addr = Register::Address<0xf8024014,0xc17f1c1c,0x00000000,unsigned>;
          ///Receiver Ready
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(0,0),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxrdy{}; 
          ///Transmitter Ready
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(1,1),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txrdy{}; 
          ///Overrun Error
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,5),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> ovre{}; 
          ///Framing Error
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(6,6),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> frame{}; 
          ///Parity Error
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,7),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> pare{}; 
          ///Receiver Time-out
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(8,8),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> timeout{}; 
          ///Transmitter Empty
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(9,9),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txempty{}; 
          ///LIN Break Sent or LIN Break Received
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(13,13),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linbk{}; 
          ///LIN Identifier Sent or LIN Identifier Received
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(14,14),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linid{}; 
          ///LIN Transfer Completed
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(15,15),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> lintc{}; 
          ///LIN Bus Line Status
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(23,23),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linbls{}; 
          ///LIN Bit Error
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(25,25),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linbe{}; 
          ///LIN Inconsistent Synch Field Error
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(26,26),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linisfe{}; 
          ///LIN Identifier Parity Error
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(27,27),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linipe{}; 
          ///LIN Checksum Error
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(28,28),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> lince{}; 
          ///LIN Slave Not Responding Error
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(29,29),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> linsnre{}; 
      }
      namespace Usart2Rhr{    ///<Receiver Holding Register
          using Addr = Register::Address<0xf8024018,0xffff7e00,0x00000000,unsigned>;
          ///Received Character
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(8,0),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxchr{}; 
          ///Received Sync
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(15,15),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> rxsynh{}; 
      }
      namespace Usart2Thr{    ///<Transmitter Holding Register
          using Addr = Register::Address<0xf802401c,0xffff7e00,0x00000000,unsigned>;
          ///Character to be Transmitted
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(8,0),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txchr{}; 
          ///Sync Field to be transmitted
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(15,15),Register::Access<Register::AccessType::writeOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> txsynh{}; 
      }
      namespace Usart2Brgr{    ///<Baud Rate Generator Register
          using Addr = Register::Address<0xf8024020,0xfff80000,0x00000000,unsigned>;
          ///Clock Divider
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(15,0),Register::ReadWriteAccess,unsigned> cd{}; 
          ///Fractional Part
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(18,16),Register::ReadWriteAccess,unsigned> fp{}; 
      }
      namespace Usart2Rtor{    ///<Receiver Time-out Register
          using Addr = Register::Address<0xf8024024,0xfffe0000,0x00000000,unsigned>;
          ///Time-out Value
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(16,0),Register::ReadWriteAccess,unsigned> to{}; 
      }
      namespace Usart2Ttgr{    ///<Transmitter Timeguard Register
          using Addr = Register::Address<0xf8024028,0xffffff00,0x00000000,unsigned>;
          ///Timeguard Value
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,0),Register::ReadWriteAccess,unsigned> tg{}; 
      }
      namespace Usart2Fidi{    ///<FI DI Ratio Register
          using Addr = Register::Address<0xf8024040,0xfffff800,0x00000000,unsigned>;
          ///FI Over DI Ratio Value
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(10,0),Register::ReadWriteAccess,unsigned> fiDiRatio{}; 
      }
      namespace Usart2Ner{    ///<Number of Errors Register
          using Addr = Register::Address<0xf8024044,0xffffff00,0x00000000,unsigned>;
          ///Number of Errors
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,0),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> nbErrors{}; 
      }
      namespace Usart2If{    ///<IrDA Filter Register
          using Addr = Register::Address<0xf802404c,0xffffff00,0x00000000,unsigned>;
          ///IrDA Filter
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,0),Register::ReadWriteAccess,unsigned> irdaFilter{}; 
      }
      namespace Usart2Man{    ///<Manchester Encoder Decoder Register
          using Addr = Register::Address<0xf8024050,0x8cf0ecf0,0x00000000,unsigned>;
          ///Transmitter Preamble Length
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(3,0),Register::ReadWriteAccess,unsigned> txPl{}; 
          ///Transmitter Preamble Pattern
          enum class TxppVal {
              allOne=0x00000000,     ///<The preamble is composed of '1's
              allZero=0x00000001,     ///<The preamble is composed of '0's
              zeroOne=0x00000002,     ///<The preamble is composed of '01's
              oneZero=0x00000003,     ///<The preamble is composed of '10's
          };
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(9,8),Register::ReadWriteAccess,TxppVal> txPp{}; 
          namespace TxppValC{
              constexpr Register::FieldValue<decltype(txPp)::Type,TxppVal::allOne> allOne{};
              constexpr Register::FieldValue<decltype(txPp)::Type,TxppVal::allZero> allZero{};
              constexpr Register::FieldValue<decltype(txPp)::Type,TxppVal::zeroOne> zeroOne{};
              constexpr Register::FieldValue<decltype(txPp)::Type,TxppVal::oneZero> oneZero{};
          }
          ///Transmitter Manchester Polarity
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(12,12),Register::ReadWriteAccess,unsigned> txMpol{}; 
          ///Receiver Preamble Length
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(19,16),Register::ReadWriteAccess,unsigned> rxPl{}; 
          ///Receiver Preamble Pattern detected
          enum class RxppVal {
              allOne=0x00000000,     ///<The preamble is composed of '1's
              allZero=0x00000001,     ///<The preamble is composed of '0's
              zeroOne=0x00000002,     ///<The preamble is composed of '01's
              oneZero=0x00000003,     ///<The preamble is composed of '10's
          };
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(25,24),Register::ReadWriteAccess,RxppVal> rxPp{}; 
          namespace RxppValC{
              constexpr Register::FieldValue<decltype(rxPp)::Type,RxppVal::allOne> allOne{};
              constexpr Register::FieldValue<decltype(rxPp)::Type,RxppVal::allZero> allZero{};
              constexpr Register::FieldValue<decltype(rxPp)::Type,RxppVal::zeroOne> zeroOne{};
              constexpr Register::FieldValue<decltype(rxPp)::Type,RxppVal::oneZero> oneZero{};
          }
          ///Receiver Manchester Polarity
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(28,28),Register::ReadWriteAccess,unsigned> rxMpol{}; 
          ///Must Be Set to 1
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(29,29),Register::ReadWriteAccess,unsigned> one{}; 
          ///Drift compensation
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(30,30),Register::ReadWriteAccess,unsigned> drift{}; 
      }
      namespace Usart2Linmr{    ///<LIN Mode Register
          using Addr = Register::Address<0xf8024054,0xfffe0000,0x00000000,unsigned>;
          ///LIN Node Action
          enum class NactVal {
              publish=0x00000000,     ///<The USART transmits the response.
              subscribe=0x00000001,     ///<The USART receives the response.
              ignore=0x00000002,     ///<The USART does not transmit and does not receive the response.
          };
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(1,0),Register::ReadWriteAccess,NactVal> nact{}; 
          namespace NactValC{
              constexpr Register::FieldValue<decltype(nact)::Type,NactVal::publish> publish{};
              constexpr Register::FieldValue<decltype(nact)::Type,NactVal::subscribe> subscribe{};
              constexpr Register::FieldValue<decltype(nact)::Type,NactVal::ignore> ignore{};
          }
          ///Parity Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(2,2),Register::ReadWriteAccess,unsigned> pardis{}; 
          ///Checksum Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(3,3),Register::ReadWriteAccess,unsigned> chkdis{}; 
          ///Checksum Type
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(4,4),Register::ReadWriteAccess,unsigned> chktyp{}; 
          ///Data Length Mode
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(5,5),Register::ReadWriteAccess,unsigned> dlm{}; 
          ///Frame Slot Mode Disable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(6,6),Register::ReadWriteAccess,unsigned> fsdis{}; 
          ///Wakeup Signal Type
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,7),Register::ReadWriteAccess,unsigned> wkuptyp{}; 
          ///Data Length Control
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(15,8),Register::ReadWriteAccess,unsigned> dlc{}; 
          ///DMAC Mode
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(16,16),Register::ReadWriteAccess,unsigned> pdcm{}; 
      }
      namespace Usart2Linir{    ///<LIN Identifier Register
          using Addr = Register::Address<0xf8024058,0xffffff00,0x00000000,unsigned>;
          ///Identifier Character
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(7,0),Register::ReadWriteAccess,unsigned> idchr{}; 
      }
      namespace Usart2Wpmr{    ///<Write Protect Mode Register
          using Addr = Register::Address<0xf80240e4,0x000000fe,0x00000000,unsigned>;
          ///Write Protect Enable
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(0,0),Register::ReadWriteAccess,unsigned> wpen{}; 
          ///Write Protect KEY
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(31,8),Register::ReadWriteAccess,unsigned> wpkey{}; 
      }
      namespace Usart2Wpsr{    ///<Write Protect Status Register
          using Addr = Register::Address<0xf80240e8,0xff0000fe,0x00000000,unsigned>;
          ///Write Protect Violation Status
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(0,0),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> wpvs{}; 
          ///Write Protect Violation Source
          constexpr Register::FieldLocation<Addr,Register::maskFromRange(23,8),Register::Access<Register::AccessType::readOnly,Register::ReadActionType::normal,Register::ModifiedWriteValueType::normal>,unsigned> wpvsrc{}; 
      }
  }
  