Просмотр исходного кода

refractor device composite freertos ses

hathach 7 лет назад
Родитель
Сommit
3fccd24854
36 измененных файлов с 36249 добавлено и 2432 удалено
  1. 4 0
      .gitignore
  2. 0 1749
      examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT.c
  3. 0 240
      examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT.h
  4. 0 312
      examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT_Conf.h
  5. 0 79
      examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT_SES.c
  6. 6 0
      examples/device_composite/ses/device_composite.emProject
  7. 6 0
      examples/device_composite_freertos/ses/device_composite_freertos.emProject
  8. 0 0
      examples/device_composite_freertos/ses/nrf5x/flash_placement.xml
  9. 0 0
      examples/device_composite_freertos/ses/nrf5x/nRF52840_xxAA_MemoryMap.xml
  10. 0 0
      examples/device_composite_freertos/ses/nrf5x/nRF_Target.js
  11. 0 0
      examples/device_composite_freertos/ses/nrf5x/nrf52840_Registers.xml
  12. 39 51
      examples/device_composite_freertos/ses/nrf5x/nrf5x.emProject
  13. 0 0
      examples/device_composite_freertos/ses/nrf5x/thumb_crt0.s
  14. 5 0
      examples/device_composite_freertos/ses/samd21/ATSAMD21G18A_MemoryMap.xml
  15. 9587 0
      examples/device_composite_freertos/ses/samd21/ATSAMD21G18A_Registers.xml
  16. 331 0
      examples/device_composite_freertos/ses/samd21/ATSAMD21G18A_Vectors.s
  17. 114 0
      examples/device_composite_freertos/ses/samd21/SAMD21_Startup.s
  18. 19 0
      examples/device_composite_freertos/ses/samd21/SAMD21_Target.js
  19. 37 0
      examples/device_composite_freertos/ses/samd21/flash_placement.xml
  20. 103 0
      examples/device_composite_freertos/ses/samd21/samd21.emProject
  21. 415 0
      examples/device_composite_freertos/ses/samd21/thumb_crt0.s
  22. 6 0
      examples/device_composite_freertos/ses/samd51/ATSAMD51J19A_MemoryMap.xml
  23. 23643 0
      examples/device_composite_freertos/ses/samd51/ATSAMD51J19A_Registers.xml
  24. 1227 0
      examples/device_composite_freertos/ses/samd51/ATSAMD51J19A_Vectors.s
  25. 128 0
      examples/device_composite_freertos/ses/samd51/SAMD51_Startup.s
  26. 19 0
      examples/device_composite_freertos/ses/samd51/SAMD51_Target.js
  27. 37 0
      examples/device_composite_freertos/ses/samd51/flash_placement.xml
  28. 107 0
      examples/device_composite_freertos/ses/samd51/samd51.emProject
  29. 415 0
      examples/device_composite_freertos/ses/samd51/thumb_crt0.s
  30. 0 0
      examples/device_composite_freertos/src/main.c
  31. 0 0
      examples/device_composite_freertos/src/msc_app.c
  32. 0 0
      examples/device_composite_freertos/src/msc_app.h
  33. 1 1
      examples/device_composite_freertos/src/msc_device_ramdisk.c
  34. 0 0
      examples/device_composite_freertos/src/msc_flash_qspi.c
  35. 0 0
      examples/device_composite_freertos/src/tusb_config.h
  36. 0 0
      examples/device_composite_freertos/src/tusb_descriptors.c

+ 4 - 0
.gitignore

@@ -10,6 +10,10 @@ tests/build
 *.launch
 *.map
 *.axf
+*.jlink
+*.emSession
+*.elf
+*.ind
 /tests/lpc175x_6x/build/
 /tests/lpc18xx_43xx/build/
 /demos/*/*/Board_*

+ 0 - 1749
examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT.c

@@ -1,1749 +0,0 @@
-/*********************************************************************
-*                    SEGGER Microcontroller GmbH                     *
-*                        The Embedded Experts                        *
-**********************************************************************
-*                                                                    *
-*            (c) 2014 - 2018 SEGGER Microcontroller GmbH             *
-*                                                                    *
-*           www.segger.com     Support: support@segger.com           *
-*                                                                    *
-**********************************************************************
-*                                                                    *
-* All rights reserved.                                               *
-*                                                                    *
-* Redistribution and use in source and binary forms, with or         *
-* without modification, are permitted provided that the following    *
-* conditions are met:                                                *
-*                                                                    *
-* - Redistributions of source code must retain the above copyright   *
-*   notice, this list of conditions and the following disclaimer.    *
-*                                                                    *
-* - Neither the name of SEGGER Microcontroller GmbH                  *
-*   nor the names of its contributors may be used to endorse or      *
-*   promote products derived from this software without specific     *
-*   prior written permission.                                        *
-*                                                                    *
-* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             *
-* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,        *
-* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           *
-* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           *
-* DISCLAIMED.                                                        *
-* IN NO EVENT SHALL SEGGER Microcontroller GmbH BE LIABLE FOR        *
-* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR           *
-* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT  *
-* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;    *
-* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF      *
-* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT          *
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE  *
-* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH   *
-* DAMAGE.                                                            *
-*                                                                    *
-**********************************************************************
----------------------------END-OF-HEADER------------------------------
-File    : SEGGER_RTT.c
-Purpose : Implementation of SEGGER real-time transfer (RTT) which
-          allows real-time communication on targets which support
-          debugger memory accesses while the CPU is running.
-Revision: $Rev: 12804 $
-
-Additional information:
-          Type "int" is assumed to be 32-bits in size
-          H->T    Host to target communication
-          T->H    Target to host communication
-
-          RTT channel 0 is always present and reserved for Terminal usage.
-          Name is fixed to "Terminal"
-
-          Effective buffer size: SizeOfBuffer - 1
-
-          WrOff == RdOff:       Buffer is empty
-          WrOff == (RdOff - 1): Buffer is full
-          WrOff >  RdOff:       Free space includes wrap-around
-          WrOff <  RdOff:       Used space includes wrap-around
-          (WrOff == (SizeOfBuffer - 1)) && (RdOff == 0):  
-                                Buffer full and wrap-around after next byte
-
-
-----------------------------------------------------------------------
-*/
-
-#include "SEGGER_RTT.h"
-
-#include <string.h>                 // for memcpy
-
-/*********************************************************************
-*
-*       Configuration, default values
-*
-**********************************************************************
-*/
-
-#ifndef   BUFFER_SIZE_UP
-  #define BUFFER_SIZE_UP                                  1024  // Size of the buffer for terminal output of target, up to host
-#endif
-
-#ifndef   BUFFER_SIZE_DOWN
-  #define BUFFER_SIZE_DOWN                                16    // Size of the buffer for terminal input to target from host (Usually keyboard input)
-#endif
-
-#ifndef   SEGGER_RTT_MAX_NUM_UP_BUFFERS
-  #define SEGGER_RTT_MAX_NUM_UP_BUFFERS                    2    // Number of up-buffers (T->H) available on this target
-#endif
-
-#ifndef   SEGGER_RTT_MAX_NUM_DOWN_BUFFERS
-  #define SEGGER_RTT_MAX_NUM_DOWN_BUFFERS                  2    // Number of down-buffers (H->T) available on this target
-#endif
-
-#ifndef SEGGER_RTT_BUFFER_SECTION
-  #if defined(SEGGER_RTT_SECTION)
-    #define SEGGER_RTT_BUFFER_SECTION SEGGER_RTT_SECTION
-  #endif
-#endif
-
-#ifndef   SEGGER_RTT_ALIGNMENT
-  #define SEGGER_RTT_ALIGNMENT                            0
-#endif
-
-#ifndef   SEGGER_RTT_BUFFER_ALIGNMENT
-  #define SEGGER_RTT_BUFFER_ALIGNMENT                     0
-#endif
-
-#ifndef   SEGGER_RTT_MODE_DEFAULT
-  #define SEGGER_RTT_MODE_DEFAULT                         SEGGER_RTT_MODE_NO_BLOCK_SKIP
-#endif
-
-#ifndef   SEGGER_RTT_LOCK
-  #define SEGGER_RTT_LOCK()
-#endif
-
-#ifndef   SEGGER_RTT_UNLOCK
-  #define SEGGER_RTT_UNLOCK()
-#endif
-
-#ifndef   STRLEN
-  #define STRLEN(a)                                       strlen((a))
-#endif
-
-#ifndef   SEGGER_RTT_MEMCPY_USE_BYTELOOP
-  #define SEGGER_RTT_MEMCPY_USE_BYTELOOP                  0
-#endif
-
-#ifndef   SEGGER_RTT_MEMCPY
-  #ifdef  MEMCPY
-    #define SEGGER_RTT_MEMCPY(pDest, pSrc, NumBytes)      MEMCPY((pDest), (pSrc), (NumBytes))
-  #else
-    #define SEGGER_RTT_MEMCPY(pDest, pSrc, NumBytes)      memcpy((pDest), (pSrc), (NumBytes))
-  #endif
-#endif
-
-#ifndef   MIN
-  #define MIN(a, b)         (((a) < (b)) ? (a) : (b))
-#endif
-
-#ifndef   MAX
-  #define MAX(a, b)         (((a) > (b)) ? (a) : (b))
-#endif
-//
-// For some environments, NULL may not be defined until certain headers are included
-//
-#ifndef NULL
-  #define NULL 0
-#endif
-
-/*********************************************************************
-*
-*       Defines, fixed
-*
-**********************************************************************
-*/
-#if (defined __ICCARM__) || (defined __ICCRX__)
-  #define RTT_PRAGMA(P) _Pragma(#P)
-#endif
-
-#if SEGGER_RTT_ALIGNMENT || SEGGER_RTT_BUFFER_ALIGNMENT
-  #if (defined __GNUC__)
-    #define SEGGER_RTT_ALIGN(Var, Alignment) Var __attribute__ ((aligned (Alignment)))
-  #elif (defined __ICCARM__) || (defined __ICCRX__)
-    #define PRAGMA(A) _Pragma(#A)
-#define SEGGER_RTT_ALIGN(Var, Alignment) RTT_PRAGMA(data_alignment=Alignment) \
-                                  Var
-  #elif (defined __CC_ARM)
-    #define SEGGER_RTT_ALIGN(Var, Alignment) Var __attribute__ ((aligned (Alignment)))
-  #else
-    #error "Alignment not supported for this compiler."
-  #endif
-#else
-  #define SEGGER_RTT_ALIGN(Var, Alignment) Var
-#endif
-
-#if defined(SEGGER_RTT_SECTION) || defined (SEGGER_RTT_BUFFER_SECTION)
-  #if (defined __GNUC__)
-    #define SEGGER_RTT_PUT_SECTION(Var, Section) __attribute__ ((section (Section))) Var
-  #elif (defined __ICCARM__) || (defined __ICCRX__)
-#define SEGGER_RTT_PUT_SECTION(Var, Section) RTT_PRAGMA(location=Section) \
-                                        Var
-  #elif (defined __CC_ARM)
-    #define SEGGER_RTT_PUT_SECTION(Var, Section) __attribute__ ((section (Section), zero_init))  Var
-  #else
-    #error "Section placement not supported for this compiler."
-  #endif
-#else
-  #define SEGGER_RTT_PUT_SECTION(Var, Section) Var
-#endif
-
-
-#if SEGGER_RTT_ALIGNMENT
-  #define SEGGER_RTT_CB_ALIGN(Var)  SEGGER_RTT_ALIGN(Var, SEGGER_RTT_ALIGNMENT)
-#else
-  #define SEGGER_RTT_CB_ALIGN(Var)  Var
-#endif
-
-#if SEGGER_RTT_BUFFER_ALIGNMENT
-  #define SEGGER_RTT_BUFFER_ALIGN(Var)  SEGGER_RTT_ALIGN(Var, SEGGER_RTT_BUFFER_ALIGNMENT)
-#else
-  #define SEGGER_RTT_BUFFER_ALIGN(Var)  Var
-#endif
-
-
-#if defined(SEGGER_RTT_SECTION)
-  #define SEGGER_RTT_PUT_CB_SECTION(Var) SEGGER_RTT_PUT_SECTION(Var, SEGGER_RTT_SECTION)
-#else
-  #define SEGGER_RTT_PUT_CB_SECTION(Var) Var
-#endif
-
-#if defined(SEGGER_RTT_BUFFER_SECTION)
-  #define SEGGER_RTT_PUT_BUFFER_SECTION(Var) SEGGER_RTT_PUT_SECTION(Var, SEGGER_RTT_BUFFER_SECTION)
-#else
-  #define SEGGER_RTT_PUT_BUFFER_SECTION(Var) Var
-#endif
-
-/*********************************************************************
-*
-*       Static const data
-*
-**********************************************************************
-*/
-
-static unsigned char _aTerminalId[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
-
-/*********************************************************************
-*
-*       Static data
-*
-**********************************************************************
-*/
-//
-// RTT Control Block and allocate buffers for channel 0
-//
-SEGGER_RTT_PUT_CB_SECTION(SEGGER_RTT_CB_ALIGN(SEGGER_RTT_CB _SEGGER_RTT));
-
-SEGGER_RTT_PUT_BUFFER_SECTION(SEGGER_RTT_BUFFER_ALIGN(static char _acUpBuffer  [BUFFER_SIZE_UP]));
-SEGGER_RTT_PUT_BUFFER_SECTION(SEGGER_RTT_BUFFER_ALIGN(static char _acDownBuffer[BUFFER_SIZE_DOWN]));
-
-static char _ActiveTerminal;
-
-/*********************************************************************
-*
-*       Static functions
-*
-**********************************************************************
-*/
-
-/*********************************************************************
-*
-*       _DoInit()
-*
-*  Function description
-*    Initializes the control block an buffers.
-*    May only be called via INIT() to avoid overriding settings.
-*
-*/
-#define INIT()  do {                                            \
-                  if (_SEGGER_RTT.acID[0] == '\0') { _DoInit(); }  \
-                } while (0)
-static void _DoInit(void) {
-  SEGGER_RTT_CB* p;
-  //
-  // Initialize control block
-  //
-  p = &_SEGGER_RTT;
-  p->MaxNumUpBuffers    = SEGGER_RTT_MAX_NUM_UP_BUFFERS;
-  p->MaxNumDownBuffers  = SEGGER_RTT_MAX_NUM_DOWN_BUFFERS;
-  //
-  // Initialize up buffer 0
-  //
-  p->aUp[0].sName         = "Terminal";
-  p->aUp[0].pBuffer       = _acUpBuffer;
-  p->aUp[0].SizeOfBuffer  = sizeof(_acUpBuffer);
-  p->aUp[0].RdOff         = 0u;
-  p->aUp[0].WrOff         = 0u;
-  p->aUp[0].Flags         = SEGGER_RTT_MODE_DEFAULT;
-  //
-  // Initialize down buffer 0
-  //
-  p->aDown[0].sName         = "Terminal";
-  p->aDown[0].pBuffer       = _acDownBuffer;
-  p->aDown[0].SizeOfBuffer  = sizeof(_acDownBuffer);
-  p->aDown[0].RdOff         = 0u;
-  p->aDown[0].WrOff         = 0u;
-  p->aDown[0].Flags         = SEGGER_RTT_MODE_DEFAULT;
-  //
-  // Finish initialization of the control block.
-  // Copy Id string in three steps to make sure "SEGGER RTT" is not found
-  // in initializer memory (usually flash) by J-Link
-  //
-  strcpy(&p->acID[7], "RTT");
-  strcpy(&p->acID[0], "SEGGER");
-  p->acID[6] = ' ';
-}
-
-/*********************************************************************
-*
-*       _WriteBlocking()
-*
-*  Function description
-*    Stores a specified number of characters in SEGGER RTT ring buffer
-*    and updates the associated write pointer which is periodically
-*    read by the host.
-*    The caller is responsible for managing the write chunk sizes as
-*    _WriteBlocking() will block until all data has been posted successfully.
-*
-*  Parameters
-*    pRing        Ring buffer to post to.
-*    pBuffer      Pointer to character array. Does not need to point to a \0 terminated string.
-*    NumBytes     Number of bytes to be stored in the SEGGER RTT control block.
-*
-*  Return value
-*    >= 0 - Number of bytes written into buffer.
-*/
-static unsigned _WriteBlocking(SEGGER_RTT_BUFFER_UP* pRing, const char* pBuffer, unsigned NumBytes) {
-  unsigned NumBytesToWrite;
-  unsigned NumBytesWritten;
-  unsigned RdOff;
-  unsigned WrOff;
-#if SEGGER_RTT_MEMCPY_USE_BYTELOOP
-  char*    pDst;
-#endif
-  //
-  // Write data to buffer and handle wrap-around if necessary
-  //
-  NumBytesWritten = 0u;
-  WrOff = pRing->WrOff;
-  do {
-    RdOff = pRing->RdOff;                         // May be changed by host (debug probe) in the meantime
-    if (RdOff > WrOff) {
-      NumBytesToWrite = RdOff - WrOff - 1u;
-    } else {
-      NumBytesToWrite = pRing->SizeOfBuffer - (WrOff - RdOff + 1u);
-    }
-    NumBytesToWrite = MIN(NumBytesToWrite, (pRing->SizeOfBuffer - WrOff));      // Number of bytes that can be written until buffer wrap-around
-    NumBytesToWrite = MIN(NumBytesToWrite, NumBytes);
-#if SEGGER_RTT_MEMCPY_USE_BYTELOOP
-    pDst = pRing->pBuffer + WrOff;
-    NumBytesWritten += NumBytesToWrite;
-    NumBytes        -= NumBytesToWrite;
-    WrOff           += NumBytesToWrite;
-    while (NumBytesToWrite--) {
-      *pDst++ = *pBuffer++;
-    };
-#else
-    SEGGER_RTT_MEMCPY(pRing->pBuffer + WrOff, pBuffer, NumBytesToWrite);
-    NumBytesWritten += NumBytesToWrite;
-    pBuffer         += NumBytesToWrite;
-    NumBytes        -= NumBytesToWrite;
-    WrOff           += NumBytesToWrite;
-#endif
-    if (WrOff == pRing->SizeOfBuffer) {
-      WrOff = 0u;
-    }
-    pRing->WrOff = WrOff;
-  } while (NumBytes);
-  //
-  return NumBytesWritten;
-}
-
-/*********************************************************************
-*
-*       _WriteNoCheck()
-*
-*  Function description
-*    Stores a specified number of characters in SEGGER RTT ring buffer
-*    and updates the associated write pointer which is periodically
-*    read by the host.
-*    It is callers responsibility to make sure data actually fits in buffer.
-*
-*  Parameters
-*    pRing        Ring buffer to post to.
-*    pBuffer      Pointer to character array. Does not need to point to a \0 terminated string.
-*    NumBytes     Number of bytes to be stored in the SEGGER RTT control block.
-*
-*  Notes
-*    (1) If there might not be enough space in the "Up"-buffer, call _WriteBlocking
-*/
-static void _WriteNoCheck(SEGGER_RTT_BUFFER_UP* pRing, const char* pData, unsigned NumBytes) {
-  unsigned NumBytesAtOnce;
-  unsigned WrOff;
-  unsigned Rem;
-#if SEGGER_RTT_MEMCPY_USE_BYTELOOP
-  char*    pDst;
-#endif
-
-  WrOff = pRing->WrOff;
-  Rem = pRing->SizeOfBuffer - WrOff;
-  if (Rem > NumBytes) {
-    //
-    // All data fits before wrap around
-    //
-#if SEGGER_RTT_MEMCPY_USE_BYTELOOP
-    pDst = pRing->pBuffer + WrOff;
-    WrOff += NumBytes;
-    while (NumBytes--) {
-      *pDst++ = *pData++;
-    };
-    pRing->WrOff = WrOff;
-#else
-    SEGGER_RTT_MEMCPY(pRing->pBuffer + WrOff, pData, NumBytes);
-    pRing->WrOff = WrOff + NumBytes;
-#endif
-  } else {
-    //
-    // We reach the end of the buffer, so need to wrap around
-    //
-#if SEGGER_RTT_MEMCPY_USE_BYTELOOP
-    pDst = pRing->pBuffer + WrOff;
-    NumBytesAtOnce = Rem;
-    while (NumBytesAtOnce--) {
-      *pDst++ = *pData++;
-    };
-    pDst = pRing->pBuffer;
-    NumBytesAtOnce = NumBytes - Rem;
-    while (NumBytesAtOnce--) {
-      *pDst++ = *pData++;
-    };
-    pRing->WrOff = NumBytes - Rem;
-#else
-    NumBytesAtOnce = Rem;
-    SEGGER_RTT_MEMCPY(pRing->pBuffer + WrOff, pData, NumBytesAtOnce);
-    NumBytesAtOnce = NumBytes - Rem;
-    SEGGER_RTT_MEMCPY(pRing->pBuffer, pData + Rem, NumBytesAtOnce);
-    pRing->WrOff = NumBytesAtOnce;
-#endif
-  }
-}
-
-/*********************************************************************
-*
-*       _PostTerminalSwitch()
-*
-*  Function description
-*    Switch terminal to the given terminal ID.  It is the caller's
-*    responsibility to ensure the terminal ID is correct and there is
-*    enough space in the buffer for this to complete successfully.
-*
-*  Parameters
-*    pRing        Ring buffer to post to.
-*    TerminalId   Terminal ID to switch to.
-*/
-static void _PostTerminalSwitch(SEGGER_RTT_BUFFER_UP* pRing, unsigned char TerminalId) {
-  unsigned char ac[2];
-
-  ac[0] = 0xFFu;
-  ac[1] = _aTerminalId[TerminalId];  // Caller made already sure that TerminalId does not exceed our terminal limit
-  _WriteBlocking(pRing, (const char*)ac, 2u);
-}
-
-/*********************************************************************
-*
-*       _GetAvailWriteSpace()
-*
-*  Function description
-*    Returns the number of bytes that can be written to the ring
-*    buffer without blocking.
-*
-*  Parameters
-*    pRing        Ring buffer to check.
-*
-*  Return value
-*    Number of bytes that are free in the buffer.
-*/
-static unsigned _GetAvailWriteSpace(SEGGER_RTT_BUFFER_UP* pRing) {
-  unsigned RdOff;
-  unsigned WrOff;
-  unsigned r;
-  //
-  // Avoid warnings regarding volatile access order.  It's not a problem
-  // in this case, but dampen compiler enthusiasm.
-  //
-  RdOff = pRing->RdOff;
-  WrOff = pRing->WrOff;
-  if (RdOff <= WrOff) {
-    r = pRing->SizeOfBuffer - 1u - WrOff + RdOff;
-  } else {
-    r = RdOff - WrOff - 1u;
-  }
-  return r;
-}
-
-/*********************************************************************
-*
-*       Public code
-*
-**********************************************************************
-*/
-/*********************************************************************
-*
-*       SEGGER_RTT_ReadNoLock()
-*
-*  Function description
-*    Reads characters from SEGGER real-time-terminal control block
-*    which have been previously stored by the host.
-*    Do not lock against interrupts and multiple access.
-*
-*  Parameters
-*    BufferIndex  Index of Down-buffer to be used (e.g. 0 for "Terminal").
-*    pBuffer      Pointer to buffer provided by target application, to copy characters from RTT-down-buffer to.
-*    BufferSize   Size of the target application buffer.
-*
-*  Return value
-*    Number of bytes that have been read.
-*/
-unsigned SEGGER_RTT_ReadNoLock(unsigned BufferIndex, void* pData, unsigned BufferSize) {
-  unsigned                NumBytesRem;
-  unsigned                NumBytesRead;
-  unsigned                RdOff;
-  unsigned                WrOff;
-  unsigned char*          pBuffer;
-  SEGGER_RTT_BUFFER_DOWN* pRing;
-#if SEGGER_RTT_MEMCPY_USE_BYTELOOP
-  const char*             pSrc;
-#endif
-  //
-  INIT();
-  pRing = &_SEGGER_RTT.aDown[BufferIndex];
-  pBuffer = (unsigned char*)pData;
-  RdOff = pRing->RdOff;
-  WrOff = pRing->WrOff;
-  NumBytesRead = 0u;
-  //
-  // Read from current read position to wrap-around of buffer, first
-  //
-  if (RdOff > WrOff) {
-    NumBytesRem = pRing->SizeOfBuffer - RdOff;
-    NumBytesRem = MIN(NumBytesRem, BufferSize);
-#if SEGGER_RTT_MEMCPY_USE_BYTELOOP
-    pSrc = pRing->pBuffer + RdOff;
-    NumBytesRead += NumBytesRem;
-    BufferSize   -= NumBytesRem;
-    RdOff        += NumBytesRem;
-    while (NumBytesRem--) {
-      *pBuffer++ = *pSrc++;
-    };
-#else
-    SEGGER_RTT_MEMCPY(pBuffer, pRing->pBuffer + RdOff, NumBytesRem);
-    NumBytesRead += NumBytesRem;
-    pBuffer      += NumBytesRem;
-    BufferSize   -= NumBytesRem;
-    RdOff        += NumBytesRem;
-#endif
-    //
-    // Handle wrap-around of buffer
-    //
-    if (RdOff == pRing->SizeOfBuffer) {
-      RdOff = 0u;
-    }
-  }
-  //
-  // Read remaining items of buffer
-  //
-  NumBytesRem = WrOff - RdOff;
-  NumBytesRem = MIN(NumBytesRem, BufferSize);
-  if (NumBytesRem > 0u) {
-#if SEGGER_RTT_MEMCPY_USE_BYTELOOP
-    pSrc = pRing->pBuffer + RdOff;
-    NumBytesRead += NumBytesRem;
-    BufferSize   -= NumBytesRem;
-    RdOff        += NumBytesRem;
-    while (NumBytesRem--) {
-      *pBuffer++ = *pSrc++;
-    };
-#else
-    SEGGER_RTT_MEMCPY(pBuffer, pRing->pBuffer + RdOff, NumBytesRem);
-    NumBytesRead += NumBytesRem;
-    pBuffer      += NumBytesRem;
-    BufferSize   -= NumBytesRem;
-    RdOff        += NumBytesRem;
-#endif
-  }
-  if (NumBytesRead) {
-    pRing->RdOff = RdOff;
-  }
-  //
-  return NumBytesRead;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_Read
-*
-*  Function description
-*    Reads characters from SEGGER real-time-terminal control block
-*    which have been previously stored by the host.
-*
-*  Parameters
-*    BufferIndex  Index of Down-buffer to be used (e.g. 0 for "Terminal").
-*    pBuffer      Pointer to buffer provided by target application, to copy characters from RTT-down-buffer to.
-*    BufferSize   Size of the target application buffer.
-*
-*  Return value
-*    Number of bytes that have been read.
-*/
-unsigned SEGGER_RTT_Read(unsigned BufferIndex, void* pBuffer, unsigned BufferSize) {
-  unsigned NumBytesRead;
-  //
-  SEGGER_RTT_LOCK();
-  //
-  // Call the non-locking read function
-  //
-  NumBytesRead = SEGGER_RTT_ReadNoLock(BufferIndex, pBuffer, BufferSize);
-  //
-  // Finish up.
-  //
-  SEGGER_RTT_UNLOCK();
-  //
-  return NumBytesRead;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_WriteWithOverwriteNoLock
-*
-*  Function description
-*    Stores a specified number of characters in SEGGER RTT
-*    control block.
-*    SEGGER_RTT_WriteWithOverwriteNoLock does not lock the application 
-*    and overwrites data if the data does not fit into the buffer.
-*
-*  Parameters
-*    BufferIndex  Index of "Up"-buffer to be used (e.g. 0 for "Terminal").
-*    pBuffer      Pointer to character array. Does not need to point to a \0 terminated string.
-*    NumBytes     Number of bytes to be stored in the SEGGER RTT control block.
-*
-*  Notes
-*    (1) If there is not enough space in the "Up"-buffer, data is overwritten.
-*    (2) For performance reasons this function does not call Init()
-*        and may only be called after RTT has been initialized.
-*        Either by calling SEGGER_RTT_Init() or calling another RTT API function first.
-*    (3) Do not use SEGGER_RTT_WriteWithOverwriteNoLock if a J-Link 
-*        connection reads RTT data.
-*/
-void SEGGER_RTT_WriteWithOverwriteNoLock(unsigned BufferIndex, const void* pBuffer, unsigned NumBytes) {
-  const char*           pData;
-  SEGGER_RTT_BUFFER_UP* pRing;
-  unsigned              Avail;
-#if SEGGER_RTT_MEMCPY_USE_BYTELOOP
-  char*                 pDst;
-#endif
-
-  pData = (const char *)pBuffer;
-  //
-  // Get "to-host" ring buffer and copy some elements into local variables.
-  //
-  pRing = &_SEGGER_RTT.aUp[BufferIndex];
-  //
-  // Check if we will overwrite data and need to adjust the RdOff.
-  //
-  if (pRing->WrOff == pRing->RdOff) {
-    Avail = pRing->SizeOfBuffer - 1u;
-  } else if ( pRing->WrOff < pRing->RdOff) {
-    Avail = pRing->RdOff - pRing->WrOff - 1u;
-  } else {
-    Avail = pRing->RdOff - pRing->WrOff - 1u + pRing->SizeOfBuffer;
-  }
-  if (NumBytes > Avail) {
-    pRing->RdOff += (NumBytes - Avail);
-    while (pRing->RdOff >= pRing->SizeOfBuffer) {
-      pRing->RdOff -= pRing->SizeOfBuffer;
-    }
-  }
-  //
-  // Write all data, no need to check the RdOff, but possibly handle multiple wrap-arounds
-  //
-  Avail = pRing->SizeOfBuffer - pRing->WrOff;
-  do {
-    if (Avail > NumBytes) {
-      //
-      // Last round
-      //
-#if SEGGER_RTT_MEMCPY_USE_BYTELOOP
-      pDst = pRing->pBuffer + pRing->WrOff;
-      Avail = NumBytes;
-      while (NumBytes--) {
-        *pDst++ = *pData++;
-      };
-      pRing->WrOff += Avail;
-#else
-      SEGGER_RTT_MEMCPY(pRing->pBuffer + pRing->WrOff, pData, NumBytes);
-      pRing->WrOff += NumBytes;
-#endif
-      break;
-    } else {
-      //
-      //  Wrap-around necessary, write until wrap-around and reset WrOff
-      //
-#if SEGGER_RTT_MEMCPY_USE_BYTELOOP
-      pDst = pRing->pBuffer + pRing->WrOff;
-      NumBytes -= Avail;
-      while (Avail--) {
-        *pDst++ = *pData++;
-      };
-      pRing->WrOff = 0;
-#else
-      SEGGER_RTT_MEMCPY(pRing->pBuffer + pRing->WrOff, pData, Avail);
-      pData += Avail;
-      pRing->WrOff = 0;
-      NumBytes -= Avail;
-#endif
-      Avail = (pRing->SizeOfBuffer - 1);
-    }
-  } while (NumBytes);
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_WriteSkipNoLock
-*
-*  Function description
-*    Stores a specified number of characters in SEGGER RTT
-*    control block which is then read by the host.
-*    SEGGER_RTT_WriteSkipNoLock does not lock the application and
-*    skips all data, if the data does not fit into the buffer.
-*
-*  Parameters
-*    BufferIndex  Index of "Up"-buffer to be used (e.g. 0 for "Terminal").
-*    pBuffer      Pointer to character array. Does not need to point to a \0 terminated string.
-*    NumBytes     Number of bytes to be stored in the SEGGER RTT control block.
-*
-*  Return value
-*    Number of bytes which have been stored in the "Up"-buffer.
-*
-*  Notes
-*    (1) If there is not enough space in the "Up"-buffer, all data is dropped.
-*    (2) For performance reasons this function does not call Init()
-*        and may only be called after RTT has been initialized.
-*        Either by calling SEGGER_RTT_Init() or calling another RTT API function first.
-*/
-unsigned SEGGER_RTT_WriteSkipNoLock(unsigned BufferIndex, const void* pBuffer, unsigned NumBytes) {
-  const char*           pData;
-  SEGGER_RTT_BUFFER_UP* pRing;
-  unsigned              Avail;
-  unsigned              RdOff;
-  unsigned              WrOff;
-  unsigned              Rem;
-#if SEGGER_RTT_MEMCPY_USE_BYTELOOP
-  char*                 pDst;
-#endif
-
-  pData = (const char *)pBuffer;
-  //
-  // Get "to-host" ring buffer and copy some elements into local variables.
-  //
-  pRing = &_SEGGER_RTT.aUp[BufferIndex];
-  RdOff = pRing->RdOff;
-  WrOff = pRing->WrOff;
-  //
-  // Handle the most common cases fastest.
-  // Which is:
-  //    RdOff <= WrOff -> Space until wrap around is free.
-  //  AND
-  //    WrOff + NumBytes < SizeOfBuffer -> No Wrap around necessary.
-  //
-  //  OR
-  //
-  //    RdOff > WrOff -> Space until RdOff - 1 is free.
-  //  AND
-  //    WrOff + NumBytes < RdOff -> Data fits into buffer
-  //
-  if (RdOff <= WrOff) {
-    //
-    // Get space until WrOff will be at wrap around.
-    //
-    Avail = pRing->SizeOfBuffer - 1u - WrOff ;
-    if (Avail >= NumBytes) {
-#if SEGGER_RTT_MEMCPY_USE_BYTELOOP
-      pDst = pRing->pBuffer + WrOff;
-      WrOff += NumBytes;
-      while (NumBytes--) {
-        *pDst++ = *pData++;
-      };
-      pRing->WrOff = WrOff;
-#else
-      SEGGER_RTT_MEMCPY(pRing->pBuffer + WrOff, pData, NumBytes);
-      pRing->WrOff = WrOff + NumBytes;
-#endif
-      return 1;
-    }
-    //
-    // If data did not fit into space until wrap around calculate complete space in buffer.
-    //
-    Avail += RdOff;
-    //
-    // If there is still no space for the whole of this output, don't bother.
-    //
-    if (Avail >= NumBytes) {
-      //
-      //  OK, we have enough space in buffer. Copy in one or 2 chunks
-      //
-      Rem = pRing->SizeOfBuffer - WrOff;      // Space until end of buffer
-      if (Rem > NumBytes) {
-#if SEGGER_RTT_MEMCPY_USE_BYTELOOP
-        pDst = pRing->pBuffer + WrOff;
-        WrOff += NumBytes;
-        while (NumBytes--) {
-          *pDst++ = *pData++;
-        };
-        pRing->WrOff = WrOff;
-#else
-        SEGGER_RTT_MEMCPY(pRing->pBuffer + WrOff, pData, NumBytes);
-        pRing->WrOff = WrOff + NumBytes;
-#endif
-      } else {
-        //
-        // We reach the end of the buffer, so need to wrap around
-        //
-#if SEGGER_RTT_MEMCPY_USE_BYTELOOP
-        pDst = pRing->pBuffer + WrOff;
-        NumBytes -= Rem;
-        WrOff = NumBytes;
-        do {
-          *pDst++ = *pData++;
-        } while (--Rem);
-        pDst = pRing->pBuffer;
-        while (NumBytes--) {
-          *pDst++ = *pData++;
-        };
-        pRing->WrOff = WrOff;
-#else
-        SEGGER_RTT_MEMCPY(pRing->pBuffer + WrOff, pData, Rem);
-        SEGGER_RTT_MEMCPY(pRing->pBuffer, pData + Rem, NumBytes - Rem);
-        pRing->WrOff = NumBytes - Rem;
-#endif
-      }
-      return 1;
-    }
-  } else {
-    Avail = RdOff - WrOff - 1u;
-    if (Avail >= NumBytes) {
-#if SEGGER_RTT_MEMCPY_USE_BYTELOOP
-      pDst = pRing->pBuffer + WrOff;
-      WrOff += NumBytes;
-      while (NumBytes--) {
-        *pDst++ = *pData++;
-      };
-      pRing->WrOff = WrOff;
-#else
-      SEGGER_RTT_MEMCPY(pRing->pBuffer + WrOff, pData, NumBytes);
-      pRing->WrOff = WrOff + NumBytes;
-#endif
-      return 1;
-    }
-  }
-  //
-  // If we reach this point no data has been written
-  //
-  return 0;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_WriteNoLock
-*
-*  Function description
-*    Stores a specified number of characters in SEGGER RTT
-*    control block which is then read by the host.
-*    SEGGER_RTT_WriteNoLock does not lock the application.
-*
-*  Parameters
-*    BufferIndex  Index of "Up"-buffer to be used (e.g. 0 for "Terminal").
-*    pBuffer      Pointer to character array. Does not need to point to a \0 terminated string.
-*    NumBytes     Number of bytes to be stored in the SEGGER RTT control block.
-*
-*  Return value
-*    Number of bytes which have been stored in the "Up"-buffer.
-*
-*  Notes
-*    (1) Data is stored according to buffer flags.
-*    (2) For performance reasons this function does not call Init()
-*        and may only be called after RTT has been initialized.
-*        Either by calling SEGGER_RTT_Init() or calling another RTT API function first.
-*/
-unsigned SEGGER_RTT_WriteNoLock(unsigned BufferIndex, const void* pBuffer, unsigned NumBytes) {
-  unsigned              Status;
-  unsigned              Avail;
-  const char*           pData;
-  SEGGER_RTT_BUFFER_UP* pRing;
-
-  pData = (const char *)pBuffer;
-  //
-  // Get "to-host" ring buffer.
-  //
-  pRing = &_SEGGER_RTT.aUp[BufferIndex];
-  //
-  // How we output depends upon the mode...
-  //
-  switch (pRing->Flags) {
-  case SEGGER_RTT_MODE_NO_BLOCK_SKIP:
-    //
-    // If we are in skip mode and there is no space for the whole
-    // of this output, don't bother.
-    //
-    Avail = _GetAvailWriteSpace(pRing);
-    if (Avail < NumBytes) {
-      Status = 0u;
-    } else {
-      Status = NumBytes;
-      _WriteNoCheck(pRing, pData, NumBytes);
-    }
-    break;
-  case SEGGER_RTT_MODE_NO_BLOCK_TRIM:
-    //
-    // If we are in trim mode, trim to what we can output without blocking.
-    //
-    Avail = _GetAvailWriteSpace(pRing);
-    Status = Avail < NumBytes ? Avail : NumBytes;
-    _WriteNoCheck(pRing, pData, Status);
-    break;
-  case SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL:
-    //
-    // If we are in blocking mode, output everything.
-    //
-    Status = _WriteBlocking(pRing, pData, NumBytes);
-    break;
-  default:
-    Status = 0u;
-    break;
-  }
-  //
-  // Finish up.
-  //
-  return Status;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_Write
-*
-*  Function description
-*    Stores a specified number of characters in SEGGER RTT
-*    control block which is then read by the host.
-*
-*  Parameters
-*    BufferIndex  Index of "Up"-buffer to be used (e.g. 0 for "Terminal").
-*    pBuffer      Pointer to character array. Does not need to point to a \0 terminated string.
-*    NumBytes     Number of bytes to be stored in the SEGGER RTT control block.
-*
-*  Return value
-*    Number of bytes which have been stored in the "Up"-buffer.
-*
-*  Notes
-*    (1) Data is stored according to buffer flags.
-*/
-unsigned SEGGER_RTT_Write(unsigned BufferIndex, const void* pBuffer, unsigned NumBytes) {
-  unsigned Status;
-  //
-  INIT();
-  SEGGER_RTT_LOCK();
-  //
-  // Call the non-locking write function
-  //
-  Status = SEGGER_RTT_WriteNoLock(BufferIndex, pBuffer, NumBytes);
-  //
-  // Finish up.
-  //
-  SEGGER_RTT_UNLOCK();
-  //
-  return Status;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_WriteString
-*
-*  Function description
-*    Stores string in SEGGER RTT control block.
-*    This data is read by the host.
-*
-*  Parameters
-*    BufferIndex  Index of "Up"-buffer to be used (e.g. 0 for "Terminal").
-*    s            Pointer to string.
-*
-*  Return value
-*    Number of bytes which have been stored in the "Up"-buffer.
-*
-*  Notes
-*    (1) Data is stored according to buffer flags.
-*    (2) String passed to this function has to be \0 terminated
-*    (3) \0 termination character is *not* stored in RTT buffer
-*/
-unsigned SEGGER_RTT_WriteString(unsigned BufferIndex, const char* s) {
-  unsigned Len;
-
-  Len = STRLEN(s);
-  return SEGGER_RTT_Write(BufferIndex, s, Len);
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_PutCharSkipNoLock
-*
-*  Function description
-*    Stores a single character/byte in SEGGER RTT buffer.
-*    SEGGER_RTT_PutCharSkipNoLock does not lock the application and
-*    skips the byte, if it does not fit into the buffer.
-*
-*  Parameters
-*    BufferIndex  Index of "Up"-buffer to be used (e.g. 0 for "Terminal").
-*    c            Byte to be stored.
-*
-*  Return value
-*    Number of bytes which have been stored in the "Up"-buffer.
-*
-*  Notes
-*    (1) If there is not enough space in the "Up"-buffer, the character is dropped.
-*    (2) For performance reasons this function does not call Init()
-*        and may only be called after RTT has been initialized.
-*        Either by calling SEGGER_RTT_Init() or calling another RTT API function first.
-*/
-
-unsigned SEGGER_RTT_PutCharSkipNoLock(unsigned BufferIndex, char c) {
-  SEGGER_RTT_BUFFER_UP* pRing;
-  unsigned              WrOff;
-  unsigned              Status;
-  //
-  // Get "to-host" ring buffer.
-  //
-  pRing = &_SEGGER_RTT.aUp[BufferIndex];
-  //
-  // Get write position and handle wrap-around if necessary
-  //
-  WrOff = pRing->WrOff + 1;
-  if (WrOff == pRing->SizeOfBuffer) {
-    WrOff = 0;
-  }
-  //
-  // Output byte if free space is available
-  //
-  if (WrOff != pRing->RdOff) {
-    pRing->pBuffer[pRing->WrOff] = c;
-    pRing->WrOff = WrOff;
-    Status = 1;
-  } else {
-    Status = 0;
-  }
-  //
-  return Status;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_PutCharSkip
-*
-*  Function description
-*    Stores a single character/byte in SEGGER RTT buffer.
-*
-*  Parameters
-*    BufferIndex  Index of "Up"-buffer to be used (e.g. 0 for "Terminal").
-*    c            Byte to be stored.
-*
-*  Return value
-*    Number of bytes which have been stored in the "Up"-buffer.
-*
-*  Notes
-*    (1) If there is not enough space in the "Up"-buffer, the character is dropped.
-*/
-
-unsigned SEGGER_RTT_PutCharSkip(unsigned BufferIndex, char c) {
-  SEGGER_RTT_BUFFER_UP* pRing;
-  unsigned              WrOff;
-  unsigned              Status;
-  //
-  // Prepare
-  //
-  INIT();
-  SEGGER_RTT_LOCK();
-  //
-  // Get "to-host" ring buffer.
-  //
-  pRing = &_SEGGER_RTT.aUp[BufferIndex];
-  //
-  // Get write position and handle wrap-around if necessary
-  //
-  WrOff = pRing->WrOff + 1;
-  if (WrOff == pRing->SizeOfBuffer) {
-    WrOff = 0;
-  }
-  //
-  // Output byte if free space is available
-  //
-  if (WrOff != pRing->RdOff) {
-    pRing->pBuffer[pRing->WrOff] = c;
-    pRing->WrOff = WrOff;
-    Status = 1;
-  } else {
-    Status = 0;
-  }
-  //
-  // Finish up.
-  //
-  SEGGER_RTT_UNLOCK();
-  //
-  return Status;
-}
-
- /*********************************************************************
-*
-*       SEGGER_RTT_PutChar
-*
-*  Function description
-*    Stores a single character/byte in SEGGER RTT buffer.
-*
-*  Parameters
-*    BufferIndex  Index of "Up"-buffer to be used (e.g. 0 for "Terminal").
-*    c            Byte to be stored.
-*
-*  Return value
-*    Number of bytes which have been stored in the "Up"-buffer.
-*
-*  Notes
-*    (1) Data is stored according to buffer flags.
-*/
-
-unsigned SEGGER_RTT_PutChar(unsigned BufferIndex, char c) {
-  SEGGER_RTT_BUFFER_UP* pRing;
-  unsigned              WrOff;
-  unsigned              Status;
-  //
-  // Prepare
-  //
-  INIT();
-  SEGGER_RTT_LOCK();
-  //
-  // Get "to-host" ring buffer.
-  //
-  pRing = &_SEGGER_RTT.aUp[BufferIndex];
-  //
-  // Get write position and handle wrap-around if necessary
-  //
-  WrOff = pRing->WrOff + 1;
-  if (WrOff == pRing->SizeOfBuffer) {
-    WrOff = 0;
-  }
-  //
-  // Wait for free space if mode is set to blocking
-  //
-  if (pRing->Flags == SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL) {
-    while (WrOff == pRing->RdOff) {
-      ;
-    }
-  }
-  //
-  // Output byte if free space is available
-  //
-  if (WrOff != pRing->RdOff) {
-    pRing->pBuffer[pRing->WrOff] = c;
-    pRing->WrOff = WrOff;
-    Status = 1;
-  } else {
-    Status = 0;
-  }
-  //
-  // Finish up.
-  //
-  SEGGER_RTT_UNLOCK();
-  //
-  return Status;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_GetKey
-*
-*  Function description
-*    Reads one character from the SEGGER RTT buffer.
-*    Host has previously stored data there.
-*
-*  Return value
-*    <  0 -   No character available (buffer empty).
-*    >= 0 -   Character which has been read. (Possible values: 0 - 255)
-*
-*  Notes
-*    (1) This function is only specified for accesses to RTT buffer 0.
-*/
-int SEGGER_RTT_GetKey(void) {
-  char c;
-  int r;
-
-  r = (int)SEGGER_RTT_Read(0u, &c, 1u);
-  if (r == 1) {
-    r = (int)(unsigned char)c;
-  } else {
-    r = -1;
-  }
-  return r;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_WaitKey
-*
-*  Function description
-*    Waits until at least one character is avaible in the SEGGER RTT buffer.
-*    Once a character is available, it is read and this function returns.
-*
-*  Return value
-*    >=0 -   Character which has been read.
-*
-*  Notes
-*    (1) This function is only specified for accesses to RTT buffer 0
-*    (2) This function is blocking if no character is present in RTT buffer
-*/
-int SEGGER_RTT_WaitKey(void) {
-  int r;
-
-  do {
-    r = SEGGER_RTT_GetKey();
-  } while (r < 0);
-  return r;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_HasKey
-*
-*  Function description
-*    Checks if at least one character for reading is available in the SEGGER RTT buffer.
-*
-*  Return value
-*    == 0 -     No characters are available to read.
-*    == 1 -     At least one character is available.
-*
-*  Notes
-*    (1) This function is only specified for accesses to RTT buffer 0
-*/
-int SEGGER_RTT_HasKey(void) {
-  unsigned RdOff;
-  int r;
-
-  INIT();
-  RdOff = _SEGGER_RTT.aDown[0].RdOff;
-  if (RdOff != _SEGGER_RTT.aDown[0].WrOff) {
-    r = 1;
-  } else {
-    r = 0;
-  }
-  return r;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_HasData
-*
-*  Function description
-*    Check if there is data from the host in the given buffer.
-*
-*  Return value:
-*  ==0:  No data
-*  !=0:  Data in buffer
-*
-*/
-unsigned SEGGER_RTT_HasData(unsigned BufferIndex) {
-  SEGGER_RTT_BUFFER_DOWN* pRing;
-  unsigned                v;
-
-  pRing = &_SEGGER_RTT.aDown[BufferIndex];
-  v = pRing->WrOff;
-  return v - pRing->RdOff;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_HasDataUp
-*
-*  Function description
-*    Check if there is data remaining to be sent in the given buffer.
-*
-*  Return value:
-*  ==0:  No data
-*  !=0:  Data in buffer
-*
-*/
-unsigned SEGGER_RTT_HasDataUp(unsigned BufferIndex) {
-  SEGGER_RTT_BUFFER_UP* pRing;
-  unsigned                v;
-
-  pRing = &_SEGGER_RTT.aUp[BufferIndex];
-  v = pRing->RdOff;
-  return pRing->WrOff - v;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_AllocDownBuffer
-*
-*  Function description
-*    Run-time configuration of the next down-buffer (H->T).
-*    The next buffer, which is not used yet is configured.
-*    This includes: Buffer address, size, name, flags, ...
-*
-*  Parameters
-*    sName        Pointer to a constant name string.
-*    pBuffer      Pointer to a buffer to be used.
-*    BufferSize   Size of the buffer.
-*    Flags        Operating modes. Define behavior if buffer is full (not enough space for entire message).
-*
-*  Return value
-*    >= 0 - O.K. Buffer Index
-*     < 0 - Error
-*/
-int SEGGER_RTT_AllocDownBuffer(const char* sName, void* pBuffer, unsigned BufferSize, unsigned Flags) {
-  int BufferIndex;
-
-  INIT();
-  SEGGER_RTT_LOCK();
-  BufferIndex = 0;
-  do {
-    if (_SEGGER_RTT.aDown[BufferIndex].pBuffer == NULL) {
-      break;
-    }
-    BufferIndex++;
-  } while (BufferIndex < _SEGGER_RTT.MaxNumDownBuffers);
-  if (BufferIndex < _SEGGER_RTT.MaxNumDownBuffers) {
-    _SEGGER_RTT.aDown[BufferIndex].sName        = sName;
-    _SEGGER_RTT.aDown[BufferIndex].pBuffer      = (char*)pBuffer;
-    _SEGGER_RTT.aDown[BufferIndex].SizeOfBuffer = BufferSize;
-    _SEGGER_RTT.aDown[BufferIndex].RdOff        = 0u;
-    _SEGGER_RTT.aDown[BufferIndex].WrOff        = 0u;
-    _SEGGER_RTT.aDown[BufferIndex].Flags        = Flags;
-  } else {
-    BufferIndex = -1;
-  }
-  SEGGER_RTT_UNLOCK();
-  return BufferIndex;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_AllocUpBuffer
-*
-*  Function description
-*    Run-time configuration of the next up-buffer (T->H).
-*    The next buffer, which is not used yet is configured.
-*    This includes: Buffer address, size, name, flags, ...
-*
-*  Parameters
-*    sName        Pointer to a constant name string.
-*    pBuffer      Pointer to a buffer to be used.
-*    BufferSize   Size of the buffer.
-*    Flags        Operating modes. Define behavior if buffer is full (not enough space for entire message).
-*
-*  Return value
-*    >= 0 - O.K. Buffer Index
-*     < 0 - Error
-*/
-int SEGGER_RTT_AllocUpBuffer(const char* sName, void* pBuffer, unsigned BufferSize, unsigned Flags) {
-  int BufferIndex;
-
-  INIT();
-  SEGGER_RTT_LOCK();
-  BufferIndex = 0;
-  do {
-    if (_SEGGER_RTT.aUp[BufferIndex].pBuffer == NULL) {
-      break;
-    }
-    BufferIndex++;
-  } while (BufferIndex < _SEGGER_RTT.MaxNumUpBuffers);
-  if (BufferIndex < _SEGGER_RTT.MaxNumUpBuffers) {
-    _SEGGER_RTT.aUp[BufferIndex].sName        = sName;
-    _SEGGER_RTT.aUp[BufferIndex].pBuffer      = (char*)pBuffer;
-    _SEGGER_RTT.aUp[BufferIndex].SizeOfBuffer = BufferSize;
-    _SEGGER_RTT.aUp[BufferIndex].RdOff        = 0u;
-    _SEGGER_RTT.aUp[BufferIndex].WrOff        = 0u;
-    _SEGGER_RTT.aUp[BufferIndex].Flags        = Flags;
-  } else {
-    BufferIndex = -1;
-  }
-  SEGGER_RTT_UNLOCK();
-  return BufferIndex;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_ConfigUpBuffer
-*
-*  Function description
-*    Run-time configuration of a specific up-buffer (T->H).
-*    Buffer to be configured is specified by index.
-*    This includes: Buffer address, size, name, flags, ...
-*
-*  Parameters
-*    BufferIndex  Index of the buffer to configure.
-*    sName        Pointer to a constant name string.
-*    pBuffer      Pointer to a buffer to be used.
-*    BufferSize   Size of the buffer.
-*    Flags        Operating modes. Define behavior if buffer is full (not enough space for entire message).
-*
-*  Return value
-*    >= 0 - O.K.
-*     < 0 - Error
-*
-*  Additional information
-*    Buffer 0 is configured on compile-time.
-*    May only be called once per buffer.
-*    Buffer name and flags can be reconfigured using the appropriate functions.
-*/
-int SEGGER_RTT_ConfigUpBuffer(unsigned BufferIndex, const char* sName, void* pBuffer, unsigned BufferSize, unsigned Flags) {
-  int r;
-
-  INIT();
-  if (BufferIndex < (unsigned)_SEGGER_RTT.MaxNumUpBuffers) {
-    SEGGER_RTT_LOCK();
-    if (BufferIndex > 0u) {
-      _SEGGER_RTT.aUp[BufferIndex].sName        = sName;
-      _SEGGER_RTT.aUp[BufferIndex].pBuffer      = (char*)pBuffer;
-      _SEGGER_RTT.aUp[BufferIndex].SizeOfBuffer = BufferSize;
-      _SEGGER_RTT.aUp[BufferIndex].RdOff        = 0u;
-      _SEGGER_RTT.aUp[BufferIndex].WrOff        = 0u;
-    }
-    _SEGGER_RTT.aUp[BufferIndex].Flags          = Flags;
-    SEGGER_RTT_UNLOCK();
-    r =  0;
-  } else {
-    r = -1;
-  }
-  return r;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_ConfigDownBuffer
-*
-*  Function description
-*    Run-time configuration of a specific down-buffer (H->T).
-*    Buffer to be configured is specified by index.
-*    This includes: Buffer address, size, name, flags, ...
-*
-*  Parameters
-*    BufferIndex  Index of the buffer to configure.
-*    sName        Pointer to a constant name string.
-*    pBuffer      Pointer to a buffer to be used.
-*    BufferSize   Size of the buffer.
-*    Flags        Operating modes. Define behavior if buffer is full (not enough space for entire message).
-*
-*  Return value
-*    >= 0  O.K.
-*     < 0  Error
-*
-*  Additional information
-*    Buffer 0 is configured on compile-time.
-*    May only be called once per buffer.
-*    Buffer name and flags can be reconfigured using the appropriate functions.
-*/
-int SEGGER_RTT_ConfigDownBuffer(unsigned BufferIndex, const char* sName, void* pBuffer, unsigned BufferSize, unsigned Flags) {
-  int r;
-
-  INIT();
-  if (BufferIndex < (unsigned)_SEGGER_RTT.MaxNumDownBuffers) {
-    SEGGER_RTT_LOCK();
-    if (BufferIndex > 0u) {
-      _SEGGER_RTT.aDown[BufferIndex].sName        = sName;
-      _SEGGER_RTT.aDown[BufferIndex].pBuffer      = (char*)pBuffer;
-      _SEGGER_RTT.aDown[BufferIndex].SizeOfBuffer = BufferSize;
-      _SEGGER_RTT.aDown[BufferIndex].RdOff        = 0u;
-      _SEGGER_RTT.aDown[BufferIndex].WrOff        = 0u;
-    }
-    _SEGGER_RTT.aDown[BufferIndex].Flags          = Flags;
-    SEGGER_RTT_UNLOCK();
-    r =  0;
-  } else {
-    r = -1;
-  }
-  return r;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_SetNameUpBuffer
-*
-*  Function description
-*    Run-time configuration of a specific up-buffer name (T->H).
-*    Buffer to be configured is specified by index.
-*
-*  Parameters
-*    BufferIndex  Index of the buffer to renamed.
-*    sName        Pointer to a constant name string.
-*
-*  Return value
-*    >= 0  O.K.
-*     < 0  Error
-*/
-int SEGGER_RTT_SetNameUpBuffer(unsigned BufferIndex, const char* sName) {
-  int r;
-
-  INIT();
-  if (BufferIndex < (unsigned)_SEGGER_RTT.MaxNumUpBuffers) {
-    SEGGER_RTT_LOCK();
-    _SEGGER_RTT.aUp[BufferIndex].sName = sName;
-    SEGGER_RTT_UNLOCK();
-    r =  0;
-  } else {
-    r = -1;
-  }
-  return r;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_SetNameDownBuffer
-*
-*  Function description
-*    Run-time configuration of a specific Down-buffer name (T->H).
-*    Buffer to be configured is specified by index.
-*
-*  Parameters
-*    BufferIndex  Index of the buffer to renamed.
-*    sName        Pointer to a constant name string.
-*
-*  Return value
-*    >= 0  O.K.
-*     < 0  Error
-*/
-int SEGGER_RTT_SetNameDownBuffer(unsigned BufferIndex, const char* sName) {
-  int r;
-
-  INIT();
-  if (BufferIndex < (unsigned)_SEGGER_RTT.MaxNumDownBuffers) {
-    SEGGER_RTT_LOCK();
-    _SEGGER_RTT.aDown[BufferIndex].sName = sName;
-    SEGGER_RTT_UNLOCK();
-    r =  0;
-  } else {
-    r = -1;
-  }
-  return r;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_SetFlagsUpBuffer
-*
-*  Function description
-*    Run-time configuration of specific up-buffer flags (T->H).
-*    Buffer to be configured is specified by index.
-*
-*  Parameters
-*    BufferIndex  Index of the buffer.
-*    Flags        Flags to set for the buffer.
-*
-*  Return value
-*    >= 0  O.K.
-*     < 0  Error
-*/
-int SEGGER_RTT_SetFlagsUpBuffer(unsigned BufferIndex, unsigned Flags) {
-  int r;
-
-  INIT();
-  if (BufferIndex < (unsigned)_SEGGER_RTT.MaxNumUpBuffers) {
-    SEGGER_RTT_LOCK();
-    _SEGGER_RTT.aUp[BufferIndex].Flags = Flags;
-    SEGGER_RTT_UNLOCK();
-    r =  0;
-  } else {
-    r = -1;
-  }
-  return r;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_SetFlagsDownBuffer
-*
-*  Function description
-*    Run-time configuration of specific Down-buffer flags (T->H).
-*    Buffer to be configured is specified by index.
-*
-*  Parameters
-*    BufferIndex  Index of the buffer to renamed.
-*    Flags        Flags to set for the buffer.
-*
-*  Return value
-*    >= 0  O.K.
-*     < 0  Error
-*/
-int SEGGER_RTT_SetFlagsDownBuffer(unsigned BufferIndex, unsigned Flags) {
-  int r;
-
-  INIT();
-  if (BufferIndex < (unsigned)_SEGGER_RTT.MaxNumDownBuffers) {
-    SEGGER_RTT_LOCK();
-    _SEGGER_RTT.aDown[BufferIndex].Flags = Flags;
-    SEGGER_RTT_UNLOCK();
-    r =  0;
-  } else {
-    r = -1;
-  }
-  return r;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_Init
-*
-*  Function description
-*    Initializes the RTT Control Block.
-*    Should be used in RAM targets, at start of the application.
-*
-*/
-void SEGGER_RTT_Init (void) {
-  _DoInit();
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_SetTerminal
-*
-*  Function description
-*    Sets the terminal to be used for output on channel 0.
-*
-*  Parameters
-*    TerminalId  Index of the terminal.
-*
-*  Return value
-*    >= 0  O.K.
-*     < 0  Error (e.g. if RTT is configured for non-blocking mode and there was no space in the buffer to set the new terminal Id)
-*/
-int SEGGER_RTT_SetTerminal (char TerminalId) {
-  unsigned char         ac[2];
-  SEGGER_RTT_BUFFER_UP* pRing;
-  unsigned Avail;
-  int r;
-  //
-  INIT();
-  //
-  r = 0;
-  ac[0] = 0xFFu;
-  if ((unsigned char)TerminalId < (unsigned char)sizeof(_aTerminalId)) { // We only support a certain number of channels
-    ac[1] = _aTerminalId[(unsigned char)TerminalId];
-    pRing = &_SEGGER_RTT.aUp[0];    // Buffer 0 is always reserved for terminal I/O, so we can use index 0 here, fixed
-    SEGGER_RTT_LOCK();    // Lock to make sure that no other task is writing into buffer, while we are and number of free bytes in buffer does not change downwards after checking and before writing
-    if ((pRing->Flags & SEGGER_RTT_MODE_MASK) == SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL) {
-      _ActiveTerminal = TerminalId;
-      _WriteBlocking(pRing, (const char*)ac, 2u);
-    } else {                                                                            // Skipping mode or trim mode? => We cannot trim this command so handling is the same for both modes
-      Avail = _GetAvailWriteSpace(pRing);
-      if (Avail >= 2) {
-        _ActiveTerminal = TerminalId;    // Only change active terminal in case of success
-        _WriteNoCheck(pRing, (const char*)ac, 2u);
-      } else {
-        r = -1;
-      }
-    }
-    SEGGER_RTT_UNLOCK();
-  } else {
-    r = -1;
-  }
-  return r;
-}
-
-/*********************************************************************
-*
-*       SEGGER_RTT_TerminalOut
-*
-*  Function description
-*    Writes a string to the given terminal
-*     without changing the terminal for channel 0.
-*
-*  Parameters
-*    TerminalId   Index of the terminal.
-*    s            String to be printed on the terminal.
-*
-*  Return value
-*    >= 0 - Number of bytes written.
-*     < 0 - Error.
-*
-*/
-int SEGGER_RTT_TerminalOut (char TerminalId, const char* s) {
-  int                   Status;
-  unsigned              FragLen;
-  unsigned              Avail;
-  SEGGER_RTT_BUFFER_UP* pRing;
-  //
-  INIT();
-  //
-  // Validate terminal ID.
-  //
-  if (TerminalId < (char)sizeof(_aTerminalId)) { // We only support a certain number of channels
-    //
-    // Get "to-host" ring buffer.
-    //
-    pRing = &_SEGGER_RTT.aUp[0];
-    //
-    // Need to be able to change terminal, write data, change back.
-    // Compute the fixed and variable sizes.
-    //
-    FragLen = STRLEN(s);
-    //
-    // How we output depends upon the mode...
-    //
-    SEGGER_RTT_LOCK();
-    Avail = _GetAvailWriteSpace(pRing);
-    switch (pRing->Flags & SEGGER_RTT_MODE_MASK) {
-    case SEGGER_RTT_MODE_NO_BLOCK_SKIP:
-      //
-      // If we are in skip mode and there is no space for the whole
-      // of this output, don't bother switching terminals at all.
-      //
-      if (Avail < (FragLen + 4u)) {
-        Status = 0;
-      } else {
-        _PostTerminalSwitch(pRing, TerminalId);
-        Status = (int)_WriteBlocking(pRing, s, FragLen);
-        _PostTerminalSwitch(pRing, _ActiveTerminal);
-      }
-      break;
-    case SEGGER_RTT_MODE_NO_BLOCK_TRIM:
-      //
-      // If we are in trim mode and there is not enough space for everything,
-      // trim the output but always include the terminal switch.  If no room
-      // for terminal switch, skip that totally.
-      //
-      if (Avail < 4u) {
-        Status = -1;
-      } else {
-        _PostTerminalSwitch(pRing, TerminalId);
-        Status = (int)_WriteBlocking(pRing, s, (FragLen < (Avail - 4u)) ? FragLen : (Avail - 4u));
-        _PostTerminalSwitch(pRing, _ActiveTerminal);
-      }
-      break;
-    case SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL:
-      //
-      // If we are in blocking mode, output everything.
-      //
-      _PostTerminalSwitch(pRing, TerminalId);
-      Status = (int)_WriteBlocking(pRing, s, FragLen);
-      _PostTerminalSwitch(pRing, _ActiveTerminal);
-      break;
-    default:
-      Status = -1;
-      break;
-    }
-    //
-    // Finish up.
-    //
-    SEGGER_RTT_UNLOCK();
-  } else {
-    Status = -1;
-  }
-  return Status;
-}
-
-
-/*************************** End of file ****************************/

+ 0 - 240
examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT.h

@@ -1,240 +0,0 @@
-/*********************************************************************
-*                    SEGGER Microcontroller GmbH                     *
-*                        The Embedded Experts                        *
-**********************************************************************
-*                                                                    *
-*            (c) 2014 - 2018 SEGGER Microcontroller GmbH             *
-*                                                                    *
-*           www.segger.com     Support: support@segger.com           *
-*                                                                    *
-**********************************************************************
-*                                                                    *
-* All rights reserved.                                               *
-*                                                                    *
-* Redistribution and use in source and binary forms, with or         *
-* without modification, are permitted provided that the following    *
-* conditions are met:                                                *
-*                                                                    *
-* - Redistributions of source code must retain the above copyright   *
-*   notice, this list of conditions and the following disclaimer.    *
-*                                                                    *
-* - Neither the name of SEGGER Microcontroller GmbH                  *
-*   nor the names of its contributors may be used to endorse or      *
-*   promote products derived from this software without specific     *
-*   prior written permission.                                        *
-*                                                                    *
-* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             *
-* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,        *
-* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           *
-* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           *
-* DISCLAIMED.                                                        *
-* IN NO EVENT SHALL SEGGER Microcontroller GmbH BE LIABLE FOR        *
-* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR           *
-* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT  *
-* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;    *
-* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF      *
-* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT          *
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE  *
-* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH   *
-* DAMAGE.                                                            *
-*                                                                    *
-**********************************************************************
----------------------------END-OF-HEADER------------------------------
-File    : SEGGER_RTT.h
-Purpose : Implementation of SEGGER real-time transfer which allows
-          real-time communication on targets which support debugger 
-          memory accesses while the CPU is running.
-Revision: $Rev: 12804 $
-----------------------------------------------------------------------
-*/
-
-#ifndef SEGGER_RTT_H
-#define SEGGER_RTT_H
-
-#include "SEGGER_RTT_Conf.h"
-#include <stdlib.h>
-#include <stdarg.h>
-
-/*********************************************************************
-*
-*       Defines, fixed
-*
-**********************************************************************
-*/
-
-/*********************************************************************
-*
-*       Types
-*
-**********************************************************************
-*/
-
-//
-// Description for a circular buffer (also called "ring buffer")
-// which is used as up-buffer (T->H)
-//
-typedef struct {
-  const     char*    sName;         // Optional name. Standard names so far are: "Terminal", "SysView", "J-Scope_t4i4"
-            char*    pBuffer;       // Pointer to start of buffer
-            unsigned SizeOfBuffer;  // Buffer size in bytes. Note that one byte is lost, as this implementation does not fill up the buffer in order to avoid the problem of being unable to distinguish between full and empty.
-            unsigned WrOff;         // Position of next item to be written by either target.
-  volatile  unsigned RdOff;         // Position of next item to be read by host. Must be volatile since it may be modified by host.
-            unsigned Flags;         // Contains configuration flags
-} SEGGER_RTT_BUFFER_UP;
-
-//
-// Description for a circular buffer (also called "ring buffer")
-// which is used as down-buffer (H->T)
-//
-typedef struct {
-  const     char*    sName;         // Optional name. Standard names so far are: "Terminal", "SysView", "J-Scope_t4i4"
-            char*    pBuffer;       // Pointer to start of buffer
-            unsigned SizeOfBuffer;  // Buffer size in bytes. Note that one byte is lost, as this implementation does not fill up the buffer in order to avoid the problem of being unable to distinguish between full and empty.
-  volatile  unsigned WrOff;         // Position of next item to be written by host. Must be volatile since it may be modified by host.
-            unsigned RdOff;         // Position of next item to be read by target (down-buffer).
-            unsigned Flags;         // Contains configuration flags
-} SEGGER_RTT_BUFFER_DOWN;
-
-//
-// RTT control block which describes the number of buffers available
-// as well as the configuration for each buffer
-//
-//
-typedef struct {
-  char                    acID[16];                                 // Initialized to "SEGGER RTT"
-  int                     MaxNumUpBuffers;                          // Initialized to SEGGER_RTT_MAX_NUM_UP_BUFFERS (type. 2)
-  int                     MaxNumDownBuffers;                        // Initialized to SEGGER_RTT_MAX_NUM_DOWN_BUFFERS (type. 2)
-  SEGGER_RTT_BUFFER_UP    aUp[SEGGER_RTT_MAX_NUM_UP_BUFFERS];       // Up buffers, transferring information up from target via debug probe to host
-  SEGGER_RTT_BUFFER_DOWN  aDown[SEGGER_RTT_MAX_NUM_DOWN_BUFFERS];   // Down buffers, transferring information down from host via debug probe to target
-} SEGGER_RTT_CB;
-
-/*********************************************************************
-*
-*       Global data
-*
-**********************************************************************
-*/
-extern SEGGER_RTT_CB _SEGGER_RTT;
-
-/*********************************************************************
-*
-*       RTT API functions
-*
-**********************************************************************
-*/
-#ifdef __cplusplus
-  extern "C" {
-#endif
-int          SEGGER_RTT_AllocDownBuffer         (const char* sName, void* pBuffer, unsigned BufferSize, unsigned Flags);
-int          SEGGER_RTT_AllocUpBuffer           (const char* sName, void* pBuffer, unsigned BufferSize, unsigned Flags);
-int          SEGGER_RTT_ConfigUpBuffer          (unsigned BufferIndex, const char* sName, void* pBuffer, unsigned BufferSize, unsigned Flags);
-int          SEGGER_RTT_ConfigDownBuffer        (unsigned BufferIndex, const char* sName, void* pBuffer, unsigned BufferSize, unsigned Flags);
-int          SEGGER_RTT_GetKey                  (void);
-unsigned     SEGGER_RTT_HasData                 (unsigned BufferIndex);
-int          SEGGER_RTT_HasKey                  (void);
-unsigned     SEGGER_RTT_HasDataUp               (unsigned BufferIndex);
-void         SEGGER_RTT_Init                    (void);
-unsigned     SEGGER_RTT_Read                    (unsigned BufferIndex,       void* pBuffer, unsigned BufferSize);
-unsigned     SEGGER_RTT_ReadNoLock              (unsigned BufferIndex,       void* pData,   unsigned BufferSize);
-int          SEGGER_RTT_SetNameDownBuffer       (unsigned BufferIndex, const char* sName);
-int          SEGGER_RTT_SetNameUpBuffer         (unsigned BufferIndex, const char* sName);
-int          SEGGER_RTT_SetFlagsDownBuffer      (unsigned BufferIndex, unsigned Flags);
-int          SEGGER_RTT_SetFlagsUpBuffer        (unsigned BufferIndex, unsigned Flags);
-int          SEGGER_RTT_WaitKey                 (void);
-unsigned     SEGGER_RTT_Write                   (unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
-unsigned     SEGGER_RTT_WriteNoLock             (unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
-unsigned     SEGGER_RTT_WriteSkipNoLock         (unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
-unsigned     SEGGER_RTT_WriteString             (unsigned BufferIndex, const char* s);
-void         SEGGER_RTT_WriteWithOverwriteNoLock(unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
-unsigned     SEGGER_RTT_PutChar                 (unsigned BufferIndex, char c);
-unsigned     SEGGER_RTT_PutCharSkip             (unsigned BufferIndex, char c);
-unsigned     SEGGER_RTT_PutCharSkipNoLock       (unsigned BufferIndex, char c);
-//
-// Function macro for performance optimization
-//
-#define      SEGGER_RTT_HASDATA(n)       (_SEGGER_RTT.aDown[n].WrOff - _SEGGER_RTT.aDown[n].RdOff)
-
-/*********************************************************************
-*
-*       RTT "Terminal" API functions
-*
-**********************************************************************
-*/
-int     SEGGER_RTT_SetTerminal        (char TerminalId);
-int     SEGGER_RTT_TerminalOut        (char TerminalId, const char* s);
-
-/*********************************************************************
-*
-*       RTT printf functions (require SEGGER_RTT_printf.c)
-*
-**********************************************************************
-*/
-int SEGGER_RTT_printf(unsigned BufferIndex, const char * sFormat, ...);
-int SEGGER_RTT_vprintf(unsigned BufferIndex, const char * sFormat, va_list * pParamList);
-
-#ifdef __cplusplus
-  }
-#endif
-
-/*********************************************************************
-*
-*       Defines
-*
-**********************************************************************
-*/
-
-//
-// Operating modes. Define behavior if buffer is full (not enough space for entire message)
-//
-#define SEGGER_RTT_MODE_NO_BLOCK_SKIP         (0U)     // Skip. Do not block, output nothing. (Default)
-#define SEGGER_RTT_MODE_NO_BLOCK_TRIM         (1U)     // Trim: Do not block, output as much as fits.
-#define SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL    (2U)     // Block: Wait until there is space in the buffer.
-#define SEGGER_RTT_MODE_MASK                  (3U)
-
-//
-// Control sequences, based on ANSI.
-// Can be used to control color, and clear the screen
-//
-#define RTT_CTRL_RESET                "\x1B[0m"         // Reset to default colors
-#define RTT_CTRL_CLEAR                "\x1B[2J"         // Clear screen, reposition cursor to top left
-
-#define RTT_CTRL_TEXT_BLACK           "\x1B[2;30m"
-#define RTT_CTRL_TEXT_RED             "\x1B[2;31m"
-#define RTT_CTRL_TEXT_GREEN           "\x1B[2;32m"
-#define RTT_CTRL_TEXT_YELLOW          "\x1B[2;33m"
-#define RTT_CTRL_TEXT_BLUE            "\x1B[2;34m"
-#define RTT_CTRL_TEXT_MAGENTA         "\x1B[2;35m"
-#define RTT_CTRL_TEXT_CYAN            "\x1B[2;36m"
-#define RTT_CTRL_TEXT_WHITE           "\x1B[2;37m"
-
-#define RTT_CTRL_TEXT_BRIGHT_BLACK    "\x1B[1;30m"
-#define RTT_CTRL_TEXT_BRIGHT_RED      "\x1B[1;31m"
-#define RTT_CTRL_TEXT_BRIGHT_GREEN    "\x1B[1;32m"
-#define RTT_CTRL_TEXT_BRIGHT_YELLOW   "\x1B[1;33m"
-#define RTT_CTRL_TEXT_BRIGHT_BLUE     "\x1B[1;34m"
-#define RTT_CTRL_TEXT_BRIGHT_MAGENTA  "\x1B[1;35m"
-#define RTT_CTRL_TEXT_BRIGHT_CYAN     "\x1B[1;36m"
-#define RTT_CTRL_TEXT_BRIGHT_WHITE    "\x1B[1;37m"
-
-#define RTT_CTRL_BG_BLACK             "\x1B[24;40m"
-#define RTT_CTRL_BG_RED               "\x1B[24;41m"
-#define RTT_CTRL_BG_GREEN             "\x1B[24;42m"
-#define RTT_CTRL_BG_YELLOW            "\x1B[24;43m"
-#define RTT_CTRL_BG_BLUE              "\x1B[24;44m"
-#define RTT_CTRL_BG_MAGENTA           "\x1B[24;45m"
-#define RTT_CTRL_BG_CYAN              "\x1B[24;46m"
-#define RTT_CTRL_BG_WHITE             "\x1B[24;47m"
-
-#define RTT_CTRL_BG_BRIGHT_BLACK      "\x1B[4;40m"
-#define RTT_CTRL_BG_BRIGHT_RED        "\x1B[4;41m"
-#define RTT_CTRL_BG_BRIGHT_GREEN      "\x1B[4;42m"
-#define RTT_CTRL_BG_BRIGHT_YELLOW     "\x1B[4;43m"
-#define RTT_CTRL_BG_BRIGHT_BLUE       "\x1B[4;44m"
-#define RTT_CTRL_BG_BRIGHT_MAGENTA    "\x1B[4;45m"
-#define RTT_CTRL_BG_BRIGHT_CYAN       "\x1B[4;46m"
-#define RTT_CTRL_BG_BRIGHT_WHITE      "\x1B[4;47m"
-
-
-#endif
-
-/*************************** End of file ****************************/

+ 0 - 312
examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT_Conf.h

@@ -1,312 +0,0 @@
-/*********************************************************************
-*                    SEGGER Microcontroller GmbH                     *
-*                        The Embedded Experts                        *
-**********************************************************************
-*                                                                    *
-*            (c) 2014 - 2018 SEGGER Microcontroller GmbH             *
-*                                                                    *
-*           www.segger.com     Support: support@segger.com           *
-*                                                                    *
-**********************************************************************
-*                                                                    *
-* All rights reserved.                                               *
-*                                                                    *
-* Redistribution and use in source and binary forms, with or         *
-* without modification, are permitted provided that the following    *
-* conditions are met:                                                *
-*                                                                    *
-* - Redistributions of source code must retain the above copyright   *
-*   notice, this list of conditions and the following disclaimer.    *
-*                                                                    *
-* - Neither the name of SEGGER Microcontroller GmbH                  *
-*   nor the names of its contributors may be used to endorse or      *
-*   promote products derived from this software without specific     *
-*   prior written permission.                                        *
-*                                                                    *
-* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             *
-* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,        *
-* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           *
-* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           *
-* DISCLAIMED.                                                        *
-* IN NO EVENT SHALL SEGGER Microcontroller GmbH BE LIABLE FOR        *
-* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR           *
-* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT  *
-* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;    *
-* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF      *
-* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT          *
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE  *
-* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH   *
-* DAMAGE.                                                            *
-*                                                                    *
-**********************************************************************
----------------------------END-OF-HEADER------------------------------
-File    : SEGGER_RTT_Conf.h
-Purpose : Implementation of SEGGER real-time transfer (RTT) which
-          allows real-time communication on targets which support
-          debugger memory accesses while the CPU is running.
-Revision: $Rev: 12804 $
-
-*/
-
-#ifndef SEGGER_RTT_CONF_H
-#define SEGGER_RTT_CONF_H
-
-#ifdef __IAR_SYSTEMS_ICC__
-  #include <intrinsics.h>
-#endif
-
-/*********************************************************************
-*
-*       Defines, configurable
-*
-**********************************************************************
-*/
-
-#define SEGGER_RTT_MAX_NUM_UP_BUFFERS             (2)     // Max. number of up-buffers (T->H) available on this target    (Default: 2)
-#define SEGGER_RTT_MAX_NUM_DOWN_BUFFERS           (2)     // Max. number of down-buffers (H->T) available on this target  (Default: 2)
-
-#define BUFFER_SIZE_UP                            (1024)  // Size of the buffer for terminal output of target, up to host (Default: 1k)
-#define BUFFER_SIZE_DOWN                          (16)    // Size of the buffer for terminal input to target from host (Usually keyboard input) (Default: 16)
-
-#define SEGGER_RTT_PRINTF_BUFFER_SIZE             (64u)    // Size of buffer for RTT printf to bulk-send chars via RTT     (Default: 64)
-
-#define SEGGER_RTT_MODE_DEFAULT                   SEGGER_RTT_MODE_NO_BLOCK_SKIP // Mode for pre-initialized terminal channel (buffer 0)
-
-/*********************************************************************
-*
-*       RTT memcpy configuration
-*
-*       memcpy() is good for large amounts of data, 
-*       but the overhead is big for small amounts, which are usually stored via RTT.
-*       With SEGGER_RTT_MEMCPY_USE_BYTELOOP a simple byte loop can be used instead.
-*
-*       SEGGER_RTT_MEMCPY() can be used to replace standard memcpy() in RTT functions.
-*       This is may be required with memory access restrictions, 
-*       such as on Cortex-A devices with MMU.
-*/
-#define SEGGER_RTT_MEMCPY_USE_BYTELOOP              0 // 0: Use memcpy/SEGGER_RTT_MEMCPY, 1: Use a simple byte-loop
-//
-// Example definition of SEGGER_RTT_MEMCPY to external memcpy with GCC toolchains and Cortex-A targets
-//
-//#if ((defined __SES_ARM) || (defined __CROSSWORKS_ARM) || (defined __GNUC__)) && (defined (__ARM_ARCH_7A__))  
-//  #define SEGGER_RTT_MEMCPY(pDest, pSrc, NumBytes)      SEGGER_memcpy((pDest), (pSrc), (NumBytes))
-//#endif
-
-//
-// Target is not allowed to perform other RTT operations while string still has not been stored completely.
-// Otherwise we would probably end up with a mixed string in the buffer.
-// If using  RTT from within interrupts, multiple tasks or multi processors, define the SEGGER_RTT_LOCK() and SEGGER_RTT_UNLOCK() function here.
-//
-// SEGGER_RTT_MAX_INTERRUPT_PRIORITY can be used in the sample lock routines on Cortex-M3/4.
-// Make sure to mask all interrupts which can send RTT data, i.e. generate SystemView events, or cause task switches.
-// When high-priority interrupts must not be masked while sending RTT data, SEGGER_RTT_MAX_INTERRUPT_PRIORITY needs to be adjusted accordingly.
-// (Higher priority = lower priority number)
-// Default value for embOS: 128u
-// Default configuration in FreeRTOS: configMAX_SYSCALL_INTERRUPT_PRIORITY: ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )
-// In case of doubt mask all interrupts: 1 << (8 - BASEPRI_PRIO_BITS) i.e. 1 << 5 when 3 bits are implemented in NVIC
-// or define SEGGER_RTT_LOCK() to completely disable interrupts.
-//
-
-#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY         (0x20)   // Interrupt priority to lock on SEGGER_RTT_LOCK on Cortex-M3/4 (Default: 0x20)
-
-/*********************************************************************
-*
-*       RTT lock configuration for SEGGER Embedded Studio,
-*       Rowley CrossStudio and GCC
-*/
-#if (defined __SES_ARM) || (defined __CROSSWORKS_ARM) || (defined __GNUC__) || (defined __clang__)
-  #if (defined(__ARM_ARCH_6M__) || defined(__ARM_ARCH_8M_BASE__))
-    #define SEGGER_RTT_LOCK()   {                                                                   \
-                                    unsigned int LockState;                                         \
-                                  __asm volatile ("mrs   %0, primask  \n\t"                         \
-                                                  "movs  r1, $1       \n\t"                         \
-                                                  "msr   primask, r1  \n\t"                         \
-                                                  : "=r" (LockState)                                \
-                                                  :                                                 \
-                                                  : "r1"                                            \
-                                                  );
-
-    #define SEGGER_RTT_UNLOCK()   __asm volatile ("msr   primask, %0  \n\t"                         \
-                                                  :                                                 \
-                                                  : "r" (LockState)                                 \
-                                                  :                                                 \
-                                                  );                                                \
-                                }
-  #elif (defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_8M_MAIN__))
-    #ifndef   SEGGER_RTT_MAX_INTERRUPT_PRIORITY
-      #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY   (0x20)
-    #endif
-    #define SEGGER_RTT_LOCK()   {                                                                   \
-                                    unsigned int LockState;                                         \
-                                  __asm volatile ("mrs   %0, basepri  \n\t"                         \
-                                                  "mov   r1, %1       \n\t"                         \
-                                                  "msr   basepri, r1  \n\t"                         \
-                                                  : "=r" (LockState)                                \
-                                                  : "i"(SEGGER_RTT_MAX_INTERRUPT_PRIORITY)          \
-                                                  : "r1"                                            \
-                                                  );
-
-    #define SEGGER_RTT_UNLOCK()   __asm volatile ("msr   basepri, %0  \n\t"                         \
-                                                  :                                                 \
-                                                  : "r" (LockState)                                 \
-                                                  :                                                 \
-                                                  );                                                \
-                                }
-
-  #elif defined(__ARM_ARCH_7A__)
-    #define SEGGER_RTT_LOCK() {                                                \
-                                 unsigned int LockState;                       \
-                                 __asm volatile ("mrs r1, CPSR \n\t"           \
-                                                 "mov %0, r1 \n\t"             \
-                                                 "orr r1, r1, #0xC0 \n\t"      \
-                                                 "msr CPSR_c, r1 \n\t"         \
-                                                 : "=r" (LockState)            \
-                                                 :                             \
-                                                 : "r1"                        \
-                                                 );
-
-    #define SEGGER_RTT_UNLOCK() __asm volatile ("mov r0, %0 \n\t"              \
-                                                "mrs r1, CPSR \n\t"            \
-                                                "bic r1, r1, #0xC0 \n\t"       \
-                                                "and r0, r0, #0xC0 \n\t"       \
-                                                "orr r1, r1, r0 \n\t"          \
-                                                "msr CPSR_c, r1 \n\t"          \
-                                                :                              \
-                                                : "r" (LockState)              \
-                                                : "r0", "r1"                   \
-                                                );                             \
-                            }
-#else
-    #define SEGGER_RTT_LOCK()
-    #define SEGGER_RTT_UNLOCK()
-  #endif
-#endif
-
-/*********************************************************************
-*
-*       RTT lock configuration for IAR EWARM
-*/
-#ifdef __ICCARM__
-  #if (defined (__ARM6M__) && (__CORE__ == __ARM6M__))
-    #define SEGGER_RTT_LOCK()   {                                                                   \
-                                  unsigned int LockState;                                           \
-                                  LockState = __get_PRIMASK();                                      \
-                                  __set_PRIMASK(1);
-
-    #define SEGGER_RTT_UNLOCK()   __set_PRIMASK(LockState);                                         \
-                                }
-  #elif ((defined (__ARM7EM__) && (__CORE__ == __ARM7EM__)) || (defined (__ARM7M__) && (__CORE__ == __ARM7M__)))
-    #ifndef   SEGGER_RTT_MAX_INTERRUPT_PRIORITY
-      #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY   (0x20)
-    #endif
-    #define SEGGER_RTT_LOCK()   {                                                                   \
-                                  unsigned int LockState;                                           \
-                                  LockState = __get_BASEPRI();                                      \
-                                  __set_BASEPRI(SEGGER_RTT_MAX_INTERRUPT_PRIORITY);
-
-    #define SEGGER_RTT_UNLOCK()   __set_BASEPRI(LockState);                                         \
-                                }
-  #endif
-#endif
-
-/*********************************************************************
-*
-*       RTT lock configuration for IAR RX
-*/
-#ifdef __ICCRX__
-  #define SEGGER_RTT_LOCK()   {                                                                     \
-                                unsigned long LockState;                                            \
-                                LockState = __get_interrupt_state();                                \
-                                __disable_interrupt();
-
-  #define SEGGER_RTT_UNLOCK()   __set_interrupt_state(LockState);                                   \
-                              }
-#endif
-
-/*********************************************************************
-*
-*       RTT lock configuration for IAR RL78
-*/
-#ifdef __ICCRL78__
-  #define SEGGER_RTT_LOCK()   {                                                                     \
-                                __istate_t LockState;                                               \
-                                LockState = __get_interrupt_state();                                \
-                                __disable_interrupt();
-
-  #define SEGGER_RTT_UNLOCK()   __set_interrupt_state(LockState);                                   \
-                              }
-#endif
-
-/*********************************************************************
-*
-*       RTT lock configuration for KEIL ARM
-*/
-#ifdef __CC_ARM
-  #if (defined __TARGET_ARCH_6S_M)
-    #define SEGGER_RTT_LOCK()   {                                                                   \
-                                  unsigned int LockState;                                           \
-                                  register unsigned char PRIMASK __asm( "primask");                 \
-                                  LockState = PRIMASK;                                              \
-                                  PRIMASK = 1u;                                                     \
-                                  __schedule_barrier();
-
-    #define SEGGER_RTT_UNLOCK()   PRIMASK = LockState;                                              \
-                                  __schedule_barrier();                                             \
-                                }
-  #elif (defined(__TARGET_ARCH_7_M) || defined(__TARGET_ARCH_7E_M))
-    #ifndef   SEGGER_RTT_MAX_INTERRUPT_PRIORITY
-      #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY   (0x20)
-    #endif
-    #define SEGGER_RTT_LOCK()   {                                                                   \
-                                  unsigned int LockState;                                           \
-                                  register unsigned char BASEPRI __asm( "basepri");                 \
-                                  LockState = BASEPRI;                                              \
-                                  BASEPRI = SEGGER_RTT_MAX_INTERRUPT_PRIORITY;                      \
-                                  __schedule_barrier();
-
-    #define SEGGER_RTT_UNLOCK()   BASEPRI = LockState;                                              \
-                                  __schedule_barrier();                                             \
-                                }
-  #endif
-#endif
-
-/*********************************************************************
-*
-*       RTT lock configuration for TI ARM
-*/
-#ifdef __TI_ARM__
-  #if defined (__TI_ARM_V6M0__)
-    #define SEGGER_RTT_LOCK()   {                                                                   \
-                                  unsigned int LockState;                                           \
-                                  LockState = __get_PRIMASK();                                      \
-                                  __set_PRIMASK(1);
-
-    #define SEGGER_RTT_UNLOCK()   __set_PRIMASK(LockState);                                         \
-                                }
-  #elif (defined (__TI_ARM_V7M3__) || defined (__TI_ARM_V7M4__))
-    #ifndef   SEGGER_RTT_MAX_INTERRUPT_PRIORITY
-      #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY   (0x20)
-    #endif
-    #define SEGGER_RTT_LOCK()   {                                                                   \
-                                  unsigned int LockState;                                           \
-                                  LockState = _set_interrupt_priority(SEGGER_RTT_MAX_INTERRUPT_PRIORITY);
-
-    #define SEGGER_RTT_UNLOCK()   _set_interrupt_priority(LockState);                               \
-                                }
-  #endif
-#endif
-
-/*********************************************************************
-*
-*       RTT lock configuration fallback
-*/
-#ifndef   SEGGER_RTT_LOCK
-  #define SEGGER_RTT_LOCK()                // Lock RTT (nestable)   (i.e. disable interrupts)
-#endif
-
-#ifndef   SEGGER_RTT_UNLOCK
-  #define SEGGER_RTT_UNLOCK()              // Unlock RTT (nestable) (i.e. enable previous interrupt lock state)
-#endif
-
-#endif
-/*************************** End of file ****************************/

+ 0 - 79
examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT_SES.c

@@ -1,79 +0,0 @@
-/*********************************************************************
-*                    SEGGER Microcontroller GmbH                     *
-*                        The Embedded Experts                        *
-**********************************************************************
-*                                                                    *
-*            (c) 2014 - 2018 SEGGER Microcontroller GmbH             *
-*                                                                    *
-*           www.segger.com     Support: support@segger.com           *
-*                                                                    *
-**********************************************************************
-*                                                                    *
-* All rights reserved.                                               *
-*                                                                    *
-* Redistribution and use in source and binary forms, with or         *
-* without modification, are permitted provided that the following    *
-* conditions are met:                                                *
-*                                                                    *
-* - Redistributions of source code must retain the above copyright   *
-*   notice, this list of conditions and the following disclaimer.    *
-*                                                                    *
-* - Neither the name of SEGGER Microcontroller GmbH                  *
-*   nor the names of its contributors may be used to endorse or      *
-*   promote products derived from this software without specific     *
-*   prior written permission.                                        *
-*                                                                    *
-* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             *
-* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,        *
-* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           *
-* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           *
-* DISCLAIMED.                                                        *
-* IN NO EVENT SHALL SEGGER Microcontroller GmbH BE LIABLE FOR        *
-* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR           *
-* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT  *
-* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;    *
-* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF      *
-* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT          *
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE  *
-* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH   *
-* DAMAGE.                                                            *
-*                                                                    *
-**********************************************************************
---------  END-OF-HEADER  ---------------------------------------------
-File    : SEGGER_RTT_Syscalls_SES.c
-Purpose : Reimplementation of printf, puts and 
-          implementation of __putchar and __getchar using RTT in SES.
-          To use RTT for printf output, include this file in your 
-          application.
-----------------------------------------------------------------------
-*/
-#include "SEGGER_RTT.h"
-#include "__libc.h"
-#include <stdarg.h>
-#include <stdio.h>
-
-int printf(const char *fmt,...) {
-  char buffer[128];
-  va_list args;
-  va_start (args, fmt);
-  int n = vsnprintf(buffer, sizeof(buffer), fmt, args);
-  SEGGER_RTT_Write(0, buffer, n);
-  va_end(args);
-  return n;
-}
-
-int puts(const char *s) {
-  return SEGGER_RTT_WriteString(0, s);
-}
-
-int __putchar(int x, __printf_tag_ptr ctx) {
-  (void)ctx;
-  SEGGER_RTT_Write(0, (char *)&x, 1);
-  return x;
-}
-
-int __getchar() {
-  return SEGGER_RTT_WaitKey();
-}
-
-/****** End Of File *************************************************/

+ 6 - 0
examples/device_composite/ses/device_composite.emProject

@@ -0,0 +1,6 @@
+<!DOCTYPE CrossStudio_Project_File>
+<solution Name="device_composite" target="8" version="2">
+  <import file_name="nrf5x/nrf5x.emProject" />
+  <import file_name="samd21/samd21.emProject" />
+  <import file_name="samd51/samd51.emProject" />
+</solution>

+ 6 - 0
examples/device_composite_freertos/ses/device_composite_freertos.emProject

@@ -0,0 +1,6 @@
+<!DOCTYPE CrossStudio_Project_File>
+<solution Name="device_composite_freertos" target="8" version="2">
+  <import file_name="nrf5x/nrf5x.emProject" />
+  <import file_name="samd21/samd21.emProject" />
+  <import file_name="samd51/samd51.emProject" />
+</solution>

+ 0 - 0
examples/device/nrf52840_freertos/segger/flash_placement.xml → examples/device_composite_freertos/ses/nrf5x/flash_placement.xml


+ 0 - 0
examples/device/nrf52840_freertos/segger/nRF52840_xxAA_MemoryMap.xml → examples/device_composite_freertos/ses/nrf5x/nRF52840_xxAA_MemoryMap.xml


+ 0 - 0
examples/device/nrf52840_freertos/segger/nRF_Target.js → examples/device_composite_freertos/ses/nrf5x/nRF_Target.js


+ 0 - 0
examples/device/nrf52840_freertos/segger/nrf52840_Registers.xml → examples/device_composite_freertos/ses/nrf5x/nrf52840_Registers.xml


+ 39 - 51
examples/device/nrf52840_freertos/segger/nrf5x_freertos.emProject → examples/device_composite_freertos/ses/nrf5x/nrf5x.emProject

@@ -1,6 +1,6 @@
 <!DOCTYPE CrossStudio_Project_File>
-<solution Name="nrf5x_freertos" target="8" version="2">
-  <project Name="nrf5x_freertos">
+<solution Name="nrf5x" target="8" version="2">
+  <project Name="nrf5x">
     <configuration
       Name="Common"
       Placement="Flash"
@@ -20,47 +20,25 @@
       arm_target_interface_type="SWD"
       build_treat_warnings_as_errors="Yes"
       c_preprocessor_definitions="NRF52840_XXAA;__nRF_FAMILY;ARM_MATH_CM4;FLASH_PLACEMENT=1;BOARD_PCA10056;CFG_TUSB_MCU=OPT_MCU_NRF5X"
-      c_user_include_directories="../src;$(tusbDir)/hw/cmsis/Include;$(tusbDir)/hw;$(tusbDir)/src;$(nrfxDir)/..;$(nrfxDir);$(nrfxDir)/mdk;$(nrfxDir)/hal;$(nrfxDir)/drivers/include;$(freertosDir)/Source/include;$(freertosDir)/Source/portable/GCC/ARM_CM4F"
-      debug_register_definition_file="$(ProjectDir)/nrf52840_Registers.xml"
+      c_user_include_directories="../../src;$(rootDir)/hw/cmsis/Include;$(rootDir)/hw;$(rootDir)/src;$(nrfxDir)/..;$(nrfxDir);$(nrfxDir)/mdk;$(nrfxDir)/hal;$(nrfxDir)/drivers/include;$(freertosDir)/Source/include;$(freertosDir)/Source/portable/GCC/ARM_CM4F"
+      debug_register_definition_file="nrf52840_Registers.xml"
       debug_target_connection="J-Link"
       gcc_entry_point="Reset_Handler"
-      linker_memory_map_file="$(ProjectDir)/nRF52840_xxAA_MemoryMap.xml"
-      linker_section_placement_file="$(ProjectDir)/flash_placement.xml"
-      macros="DeviceHeaderFile=$(PackagesDir)/nRF/CMSIS/Device/Include/nrf.h;DeviceLibraryIdentifier=M4lf;DeviceSystemFile=$(PackagesDir)/nRF/CMSIS/Device/Source/system_nrf52840.c;DeviceVectorsFile=$(PackagesDir)/nRF/Source/ses_nrf52840_Vectors.s;DeviceFamily=nRF;Target=nRF52840_xxAA;Placement=Flash;tusbDir=../../../..;nrfxDir=../../../../hw/mcu/nordic/nrfx;freertosDir=../../../../lib/FreeRTOS"
+      link_use_linker_script_file="No"
+      linker_memory_map_file="nRF52840_xxAA_MemoryMap.xml"
+      linker_section_placement_file="flash_placement.xml"
+      macros="DeviceFamily=nRF;Target=nRF52840_xxAA;Placement=Flash;rootDir=../../../..;nrfxDir=../../../../hw/mcu/nordic/nrfx;freertosDir=../../../../lib/FreeRTOS"
       project_directory=""
       project_type="Executable"
       target_reset_script="Reset();"
       target_script_file="$(ProjectDir)/nRF_Target.js"
       target_trace_initialize_script="EnableTrace(&quot;$(TraceInterfaceType)&quot;)" />
-    <folder Name="Script Files">
-      <file file_name="nRF_Target.js">
-        <configuration Name="Common" file_type="Reset Script" />
-      </file>
-    </folder>
-    <folder Name="System Files">
-      <file file_name="thumb_crt0.s" />
-    </folder>
     <folder
       Name="tinyusb"
       exclude=""
       filter="*.c;*.h"
       path="../../../../src"
       recurse="Yes" />
-    <folder Name="src">
-      <file file_name="../src/main.c" />
-      <file file_name="../src/tusb_config.h" />
-      <file file_name="../src/tusb_descriptors.c" />
-      <file file_name="../src/tusb_descriptors.h" />
-      <file file_name="../src/msc_flash_qspi.c" />
-      <file file_name="../src/msc_app.c" />
-      <file file_name="../src/msc_app.h" />
-      <folder Name="segger_rtt">
-        <file file_name="../src/segger_rtt/SEGGER_RTT.c" />
-        <file file_name="../src/segger_rtt/SEGGER_RTT_Conf.h" />
-        <file file_name="../src/segger_rtt/SEGGER_RTT.h" />
-        <file file_name="../src/segger_rtt/SEGGER_RTT_SES.c" />
-      </folder>
-    </folder>
     <folder Name="hw">
       <folder Name="bsp">
         <folder Name="pca10056">
@@ -74,13 +52,21 @@
         <folder Name="nordic">
           <folder Name="nrfx">
             <folder Name="drivers">
-              <folder Name="include" />
+              <folder Name="include">
+                <file file_name="../../../../hw/mcu/nordic/nrfx/drivers/include/nrfx_power_clock.h" />
+                <file file_name="../../../../hw/mcu/nordic/nrfx/drivers/include/nrfx_power.h" />
+                <file file_name="../../../../hw/mcu/nordic/nrfx/drivers/include/nrfx_qspi.h" />
+              </folder>
               <folder Name="src">
                 <file file_name="../../../../hw/mcu/nordic/nrfx/drivers/src/nrfx_power.c" />
                 <file file_name="../../../../hw/mcu/nordic/nrfx/drivers/src/nrfx_qspi.c" />
               </folder>
             </folder>
-            <folder Name="hal" />
+            <folder Name="hal">
+              <file file_name="../../../../hw/mcu/nordic/nrfx/hal/nrf_power.h" />
+              <file file_name="../../../../hw/mcu/nordic/nrfx/hal/nrf_qspi.h" />
+              <file file_name="../../../../hw/mcu/nordic/nrfx/hal/nrf_usbd.h" />
+            </folder>
             <folder Name="mdk">
               <file file_name="../../../../hw/mcu/nordic/nrfx/mdk/nrf51_to_nrf52840.h" />
               <file file_name="../../../../hw/mcu/nordic/nrfx/mdk/nrf52840_bitfields.h" />
@@ -92,20 +78,32 @@
               <file file_name="../../../../hw/mcu/nordic/nrfx/mdk/system_nrf52840.c" />
               <file file_name="../../../../hw/mcu/nordic/nrfx/mdk/system_nrf52840.h" />
             </folder>
-            <folder Name="soc">
-              <file file_name="../../../../hw/mcu/nordic/nrfx/soc/nrfx_irqs.h" />
-              <file file_name="../../../../hw/mcu/nordic/nrfx/soc/nrfx_irqs_nrf52840.h" />
-            </folder>
           </folder>
           <file file_name="../../../../hw/mcu/nordic/nrfx_config.h" />
           <file file_name="../../../../hw/mcu/nordic/nrfx_glue.h" />
         </folder>
       </folder>
     </folder>
-    <configuration
-      Name="Debug"
-      build_treat_warnings_as_errors="Yes"
-      debug_threads_script="$(freertosDir)/FreeRTOS_ThreadScripts_ES/threads_CM4F.js" />
+    <configuration Name="Debug" build_treat_warnings_as_errors="Yes" />
+    <folder
+      Name="src"
+      exclude=""
+      filter="*.c;*.h"
+      path="../../src"
+      recurse="Yes" />
+    <folder Name="System Files">
+      <file file_name="flash_placement.xml" />
+      <file file_name="nrf52840_Registers.xml" />
+      <file file_name="nRF52840_xxAA_MemoryMap.xml" />
+      <file file_name="nRF_Target.js" />
+      <file file_name="thumb_crt0.s" />
+    </folder>
+    <folder
+      Name="segger_rtt"
+      exclude=""
+      filter="*.c;*.h"
+      path="../../../../lib/segger_rtt"
+      recurse="No" />
     <folder Name="lib">
       <folder Name="FreeRTOS">
         <folder Name="Source">
@@ -150,15 +148,5 @@
       </folder>
     </folder>
   </project>
-  <configuration
-    Name="Debug"
-    c_preprocessor_definitions="DEBUG"
-    gcc_debugging_level="Level 3"
-    gcc_optimization_level="None" />
-  <configuration
-    Name="Release"
-    c_preprocessor_definitions="NDEBUG"
-    gcc_debugging_level="None"
-    gcc_omit_frame_pointer="Yes"
-    gcc_optimization_level="Level 1" />
+  <configuration Name="pca10056" />
 </solution>

+ 0 - 0
examples/device/nrf52840_freertos/segger/thumb_crt0.s → examples/device_composite_freertos/ses/nrf5x/thumb_crt0.s


+ 5 - 0
examples/device_composite_freertos/ses/samd21/ATSAMD21G18A_MemoryMap.xml

@@ -0,0 +1,5 @@
+<!DOCTYPE Board_Memory_Definition_File>
+<root name="ATSAMD21G18A">
+  <MemorySegment name="FLASH" start="0x00002000" size="0x0003E000" access="ReadOnly" />
+  <MemorySegment name="RAM" start="0x20000000" size="0x00008000" access="Read/Write" />
+</root>

+ 9587 - 0
examples/device_composite_freertos/ses/samd21/ATSAMD21G18A_Registers.xml

@@ -0,0 +1,9587 @@
+<!DOCTYPE Register_Definition_File>
+<Processor name="ATSAMD21G18A" description="Atmel ATSAMD21G18A device: Cortex-M0+ Microcontroller with 256KB Flash, 32KB SRAM, 48-pin package (refer to http://www.atmel.com/devices/SAMD21G18A.aspx for more)">
+  <RegisterGroup name="AC" start="0x42004400" description="Analog Comparators">
+    <Register start="+0x10+0" size="4" name="AC_COMPCTRL0" access="Read/Write" description="Comparator Control n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ENABLE" description="Enable" />
+      <BitField start="1" size="1" name="SINGLE" description="Single-Shot Mode" />
+      <BitField start="2" size="2" name="SPEED" description="Speed Selection">
+        <Enum name="LOW" start="0x0" description="Low speed" />
+        <Enum name="HIGH" start="0x1" description="High speed" />
+      </BitField>
+      <BitField start="5" size="2" name="INTSEL" description="Interrupt Selection">
+        <Enum name="TOGGLE" start="0x0" description="Interrupt on comparator output toggle" />
+        <Enum name="RISING" start="0x1" description="Interrupt on comparator output rising" />
+        <Enum name="FALLING" start="0x2" description="Interrupt on comparator output falling" />
+        <Enum name="EOC" start="0x3" description="Interrupt on end of comparison (single-shot mode only)" />
+      </BitField>
+      <BitField start="8" size="3" name="MUXNEG" description="Negative Input Mux Selection">
+        <Enum name="PIN0" start="0x0" description="I/O pin 0" />
+        <Enum name="PIN1" start="0x1" description="I/O pin 1" />
+        <Enum name="PIN2" start="0x2" description="I/O pin 2" />
+        <Enum name="PIN3" start="0x3" description="I/O pin 3" />
+        <Enum name="GND" start="0x4" description="Ground" />
+        <Enum name="VSCALE" start="0x5" description="VDD scaler" />
+        <Enum name="BANDGAP" start="0x6" description="Internal bandgap voltage" />
+        <Enum name="DAC" start="0x7" description="DAC output" />
+      </BitField>
+      <BitField start="12" size="2" name="MUXPOS" description="Positive Input Mux Selection">
+        <Enum name="PIN0" start="0x0" description="I/O pin 0" />
+        <Enum name="PIN1" start="0x1" description="I/O pin 1" />
+        <Enum name="PIN2" start="0x2" description="I/O pin 2" />
+        <Enum name="PIN3" start="0x3" description="I/O pin 3" />
+      </BitField>
+      <BitField start="15" size="1" name="SWAP" description="Swap Inputs and Invert" />
+      <BitField start="16" size="2" name="OUT" description="Output">
+        <Enum name="OFF" start="0x0" description="The output of COMPn is not routed to the COMPn I/O port" />
+        <Enum name="ASYNC" start="0x1" description="The asynchronous output of COMPn is routed to the COMPn I/O port" />
+        <Enum name="SYNC" start="0x2" description="The synchronous output (including filtering) of COMPn is routed to the COMPn I/O port" />
+      </BitField>
+      <BitField start="19" size="1" name="HYST" description="Hysteresis Enable" />
+      <BitField start="24" size="3" name="FLEN" description="Filter Length">
+        <Enum name="OFF" start="0x0" description="No filtering" />
+        <Enum name="MAJ3" start="0x1" description="3-bit majority function (2 of 3)" />
+        <Enum name="MAJ5" start="0x2" description="5-bit majority function (3 of 5)" />
+      </BitField>
+    </Register>
+    <Register start="+0x10+4" size="4" name="AC_COMPCTRL1" access="Read/Write" description="Comparator Control n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ENABLE" description="Enable" />
+      <BitField start="1" size="1" name="SINGLE" description="Single-Shot Mode" />
+      <BitField start="2" size="2" name="SPEED" description="Speed Selection">
+        <Enum name="LOW" start="0x0" description="Low speed" />
+        <Enum name="HIGH" start="0x1" description="High speed" />
+      </BitField>
+      <BitField start="5" size="2" name="INTSEL" description="Interrupt Selection">
+        <Enum name="TOGGLE" start="0x0" description="Interrupt on comparator output toggle" />
+        <Enum name="RISING" start="0x1" description="Interrupt on comparator output rising" />
+        <Enum name="FALLING" start="0x2" description="Interrupt on comparator output falling" />
+        <Enum name="EOC" start="0x3" description="Interrupt on end of comparison (single-shot mode only)" />
+      </BitField>
+      <BitField start="8" size="3" name="MUXNEG" description="Negative Input Mux Selection">
+        <Enum name="PIN0" start="0x0" description="I/O pin 0" />
+        <Enum name="PIN1" start="0x1" description="I/O pin 1" />
+        <Enum name="PIN2" start="0x2" description="I/O pin 2" />
+        <Enum name="PIN3" start="0x3" description="I/O pin 3" />
+        <Enum name="GND" start="0x4" description="Ground" />
+        <Enum name="VSCALE" start="0x5" description="VDD scaler" />
+        <Enum name="BANDGAP" start="0x6" description="Internal bandgap voltage" />
+        <Enum name="DAC" start="0x7" description="DAC output" />
+      </BitField>
+      <BitField start="12" size="2" name="MUXPOS" description="Positive Input Mux Selection">
+        <Enum name="PIN0" start="0x0" description="I/O pin 0" />
+        <Enum name="PIN1" start="0x1" description="I/O pin 1" />
+        <Enum name="PIN2" start="0x2" description="I/O pin 2" />
+        <Enum name="PIN3" start="0x3" description="I/O pin 3" />
+      </BitField>
+      <BitField start="15" size="1" name="SWAP" description="Swap Inputs and Invert" />
+      <BitField start="16" size="2" name="OUT" description="Output">
+        <Enum name="OFF" start="0x0" description="The output of COMPn is not routed to the COMPn I/O port" />
+        <Enum name="ASYNC" start="0x1" description="The asynchronous output of COMPn is routed to the COMPn I/O port" />
+        <Enum name="SYNC" start="0x2" description="The synchronous output (including filtering) of COMPn is routed to the COMPn I/O port" />
+      </BitField>
+      <BitField start="19" size="1" name="HYST" description="Hysteresis Enable" />
+      <BitField start="24" size="3" name="FLEN" description="Filter Length">
+        <Enum name="OFF" start="0x0" description="No filtering" />
+        <Enum name="MAJ3" start="0x1" description="3-bit majority function (2 of 3)" />
+        <Enum name="MAJ5" start="0x2" description="5-bit majority function (3 of 5)" />
+      </BitField>
+    </Register>
+    <Register start="+0x00" size="1" name="AC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="LPMUX" description="Low-Power Mux" />
+    </Register>
+    <Register start="+0x01" size="1" name="AC_CTRLB" access="WriteOnly" description="Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="START0" description="Comparator 0 Start Comparison" />
+      <BitField start="1" size="1" name="START1" description="Comparator 1 Start Comparison" />
+    </Register>
+    <Register start="+0x02" size="2" name="AC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="COMPEO0" description="Comparator 0 Event Output Enable" />
+      <BitField start="1" size="1" name="COMPEO1" description="Comparator 1 Event Output Enable" />
+      <BitField start="4" size="1" name="WINEO0" description="Window 0 Event Output Enable" />
+      <BitField start="8" size="1" name="COMPEI0" description="Comparator 0 Event Input" />
+      <BitField start="9" size="1" name="COMPEI1" description="Comparator 1 Event Input" />
+    </Register>
+    <Register start="+0x04" size="1" name="AC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="COMP0" description="Comparator 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="COMP1" description="Comparator 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="WIN0" description="Window 0 Interrupt Enable" />
+    </Register>
+    <Register start="+0x05" size="1" name="AC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="COMP0" description="Comparator 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="COMP1" description="Comparator 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="WIN0" description="Window 0 Interrupt Enable" />
+    </Register>
+    <Register start="+0x06" size="1" name="AC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="COMP0" description="Comparator 0" />
+      <BitField start="1" size="1" name="COMP1" description="Comparator 1" />
+      <BitField start="4" size="1" name="WIN0" description="Window 0" />
+    </Register>
+    <Register start="+0x20+0" size="1" name="AC_SCALER0" access="Read/Write" description="Scaler n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="VALUE" description="Scaler Value" />
+    </Register>
+    <Register start="+0x20+1" size="1" name="AC_SCALER1" access="Read/Write" description="Scaler n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="VALUE" description="Scaler Value" />
+    </Register>
+    <Register start="+0x08" size="1" name="AC_STATUSA" access="ReadOnly" description="Status A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STATE0" description="Comparator 0 Current State" />
+      <BitField start="1" size="1" name="STATE1" description="Comparator 1 Current State" />
+      <BitField start="4" size="2" name="WSTATE0" description="Window 0 Current State">
+        <Enum name="ABOVE" start="0x0" description="Signal is above window" />
+        <Enum name="INSIDE" start="0x1" description="Signal is inside window" />
+        <Enum name="BELOW" start="0x2" description="Signal is below window" />
+      </BitField>
+    </Register>
+    <Register start="+0x09" size="1" name="AC_STATUSB" access="ReadOnly" description="Status B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="READY0" description="Comparator 0 Ready" />
+      <BitField start="1" size="1" name="READY1" description="Comparator 1 Ready" />
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy" />
+    </Register>
+    <Register start="+0x0A" size="1" name="AC_STATUSC" access="ReadOnly" description="Status C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STATE0" description="Comparator 0 Current State" />
+      <BitField start="1" size="1" name="STATE1" description="Comparator 1 Current State" />
+      <BitField start="4" size="2" name="WSTATE0" description="Window 0 Current State">
+        <Enum name="ABOVE" start="0x0" description="Signal is above window" />
+        <Enum name="INSIDE" start="0x1" description="Signal is inside window" />
+        <Enum name="BELOW" start="0x2" description="Signal is below window" />
+      </BitField>
+    </Register>
+    <Register start="+0x0C" size="1" name="AC_WINCTRL" access="Read/Write" description="Window Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="WEN0" description="Window 0 Mode Enable" />
+      <BitField start="1" size="2" name="WINTSEL0" description="Window 0 Interrupt Selection">
+        <Enum name="ABOVE" start="0x0" description="Interrupt on signal above window" />
+        <Enum name="INSIDE" start="0x1" description="Interrupt on signal inside window" />
+        <Enum name="BELOW" start="0x2" description="Interrupt on signal below window" />
+        <Enum name="OUTSIDE" start="0x3" description="Interrupt on signal outside window" />
+      </BitField>
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="ADC" start="0x42004000" description="Analog Digital Converter">
+    <Register start="+0x02" size="1" name="ADC_AVGCTRL" access="Read/Write" description="Average Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SAMPLENUM" description="Number of Samples to be Collected">
+        <Enum name="1" start="0x0" description="1 sample" />
+        <Enum name="2" start="0x1" description="2 samples" />
+        <Enum name="4" start="0x2" description="4 samples" />
+        <Enum name="8" start="0x3" description="8 samples" />
+        <Enum name="16" start="0x4" description="16 samples" />
+        <Enum name="32" start="0x5" description="32 samples" />
+        <Enum name="64" start="0x6" description="64 samples" />
+        <Enum name="128" start="0x7" description="128 samples" />
+        <Enum name="256" start="0x8" description="256 samples" />
+        <Enum name="512" start="0x9" description="512 samples" />
+        <Enum name="1024" start="0xa" description="1024 samples" />
+      </BitField>
+      <BitField start="4" size="3" name="ADJRES" description="Adjusting Result / Division Coefficient" />
+    </Register>
+    <Register start="+0x28" size="2" name="ADC_CALIB" access="Read/Write" description="Calibration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LINEARITY_CAL" description="Linearity Calibration Value" />
+      <BitField start="8" size="3" name="BIAS_CAL" description="Bias Calibration Value" />
+    </Register>
+    <Register start="+0x00" size="1" name="ADC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="1" name="RUNSTDBY" description="Run in Standby" />
+    </Register>
+    <Register start="+0x04" size="2" name="ADC_CTRLB" access="Read/Write" description="Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIFFMODE" description="Differential Mode" />
+      <BitField start="1" size="1" name="LEFTADJ" description="Left-Adjusted Result" />
+      <BitField start="2" size="1" name="FREERUN" description="Free Running Mode" />
+      <BitField start="3" size="1" name="CORREN" description="Digital Correction Logic Enabled" />
+      <BitField start="4" size="2" name="RESSEL" description="Conversion Result Resolution">
+        <Enum name="12BIT" start="0x0" description="12-bit result" />
+        <Enum name="16BIT" start="0x1" description="For averaging mode output" />
+        <Enum name="10BIT" start="0x2" description="10-bit result" />
+        <Enum name="8BIT" start="0x3" description="8-bit result" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler Configuration">
+        <Enum name="DIV4" start="0x0" description="Peripheral clock divided by 4" />
+        <Enum name="DIV8" start="0x1" description="Peripheral clock divided by 8" />
+        <Enum name="DIV16" start="0x2" description="Peripheral clock divided by 16" />
+        <Enum name="DIV32" start="0x3" description="Peripheral clock divided by 32" />
+        <Enum name="DIV64" start="0x4" description="Peripheral clock divided by 64" />
+        <Enum name="DIV128" start="0x5" description="Peripheral clock divided by 128" />
+        <Enum name="DIV256" start="0x6" description="Peripheral clock divided by 256" />
+        <Enum name="DIV512" start="0x7" description="Peripheral clock divided by 512" />
+      </BitField>
+    </Register>
+    <Register start="+0x2A" size="1" name="ADC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run" />
+    </Register>
+    <Register start="+0x14" size="1" name="ADC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STARTEI" description="Start Conversion Event In" />
+      <BitField start="1" size="1" name="SYNCEI" description="Synchronization Event In" />
+      <BitField start="4" size="1" name="RESRDYEO" description="Result Ready Event Out" />
+      <BitField start="5" size="1" name="WINMONEO" description="Window Monitor Event Out" />
+    </Register>
+    <Register start="+0x24" size="2" name="ADC_GAINCORR" access="Read/Write" description="Gain Correction" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="12" name="GAINCORR" description="Gain Correction Value" />
+    </Register>
+    <Register start="+0x10" size="4" name="ADC_INPUTCTRL" access="Read/Write" description="Input Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="MUXPOS" description="Positive Mux Input Selection">
+        <Enum name="PIN0" start="0x0" description="ADC AIN0 Pin" />
+        <Enum name="PIN1" start="0x1" description="ADC AIN1 Pin" />
+        <Enum name="PIN2" start="0x2" description="ADC AIN2 Pin" />
+        <Enum name="PIN3" start="0x3" description="ADC AIN3 Pin" />
+        <Enum name="PIN4" start="0x4" description="ADC AIN4 Pin" />
+        <Enum name="PIN5" start="0x5" description="ADC AIN5 Pin" />
+        <Enum name="PIN6" start="0x6" description="ADC AIN6 Pin" />
+        <Enum name="PIN7" start="0x7" description="ADC AIN7 Pin" />
+        <Enum name="PIN8" start="0x8" description="ADC AIN8 Pin" />
+        <Enum name="PIN9" start="0x9" description="ADC AIN9 Pin" />
+        <Enum name="PIN10" start="0xa" description="ADC AIN10 Pin" />
+        <Enum name="PIN11" start="0xb" description="ADC AIN11 Pin" />
+        <Enum name="PIN12" start="0xc" description="ADC AIN12 Pin" />
+        <Enum name="PIN13" start="0xd" description="ADC AIN13 Pin" />
+        <Enum name="PIN14" start="0xe" description="ADC AIN14 Pin" />
+        <Enum name="PIN15" start="0xf" description="ADC AIN15 Pin" />
+        <Enum name="PIN16" start="0x10" description="ADC AIN16 Pin" />
+        <Enum name="PIN17" start="0x11" description="ADC AIN17 Pin" />
+        <Enum name="PIN18" start="0x12" description="ADC AIN18 Pin" />
+        <Enum name="PIN19" start="0x13" description="ADC AIN19 Pin" />
+        <Enum name="TEMP" start="0x18" description="Temperature Reference" />
+        <Enum name="BANDGAP" start="0x19" description="Bandgap Voltage" />
+        <Enum name="SCALEDCOREVCC" start="0x1a" description="1/4  Scaled Core Supply" />
+        <Enum name="SCALEDIOVCC" start="0x1b" description="1/4  Scaled I/O Supply" />
+        <Enum name="DAC" start="0x1c" description="DAC Output" />
+      </BitField>
+      <BitField start="8" size="5" name="MUXNEG" description="Negative Mux Input Selection">
+        <Enum name="PIN0" start="0x0" description="ADC AIN0 Pin" />
+        <Enum name="PIN1" start="0x1" description="ADC AIN1 Pin" />
+        <Enum name="PIN2" start="0x2" description="ADC AIN2 Pin" />
+        <Enum name="PIN3" start="0x3" description="ADC AIN3 Pin" />
+        <Enum name="PIN4" start="0x4" description="ADC AIN4 Pin" />
+        <Enum name="PIN5" start="0x5" description="ADC AIN5 Pin" />
+        <Enum name="PIN6" start="0x6" description="ADC AIN6 Pin" />
+        <Enum name="PIN7" start="0x7" description="ADC AIN7 Pin" />
+        <Enum name="GND" start="0x18" description="Internal Ground" />
+        <Enum name="IOGND" start="0x19" description="I/O Ground" />
+      </BitField>
+      <BitField start="16" size="4" name="INPUTSCAN" description="Number of Input Channels Included in Scan" />
+      <BitField start="20" size="4" name="INPUTOFFSET" description="Positive Mux Setting Offset" />
+      <BitField start="24" size="4" name="GAIN" description="Gain Factor Selection">
+        <Enum name="1X" start="0x0" description="1x" />
+        <Enum name="2X" start="0x1" description="2x" />
+        <Enum name="4X" start="0x2" description="4x" />
+        <Enum name="8X" start="0x3" description="8x" />
+        <Enum name="16X" start="0x4" description="16x" />
+        <Enum name="DIV2" start="0xf" description="1/2x" />
+      </BitField>
+    </Register>
+    <Register start="+0x16" size="1" name="ADC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RESRDY" description="Result Ready Interrupt Enable" />
+      <BitField start="1" size="1" name="OVERRUN" description="Overrun Interrupt Enable" />
+      <BitField start="2" size="1" name="WINMON" description="Window Monitor Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+    </Register>
+    <Register start="+0x17" size="1" name="ADC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RESRDY" description="Result Ready Interrupt Enable" />
+      <BitField start="1" size="1" name="OVERRUN" description="Overrun Interrupt Enable" />
+      <BitField start="2" size="1" name="WINMON" description="Window Monitor Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="ADC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RESRDY" description="Result Ready" />
+      <BitField start="1" size="1" name="OVERRUN" description="Overrun" />
+      <BitField start="2" size="1" name="WINMON" description="Window Monitor" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready" />
+    </Register>
+    <Register start="+0x26" size="2" name="ADC_OFFSETCORR" access="Read/Write" description="Offset Correction" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="12" name="OFFSETCORR" description="Offset Correction Value" />
+    </Register>
+    <Register start="+0x01" size="1" name="ADC_REFCTRL" access="Read/Write" description="Reference Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="REFSEL" description="Reference Selection">
+        <Enum name="INT1V" start="0x0" description="1.0V voltage reference" />
+        <Enum name="INTVCC0" start="0x1" description="1/1.48 VDDANA" />
+        <Enum name="INTVCC1" start="0x2" description="1/2 VDDANA (only for VDDANA &gt; 2.0V)" />
+        <Enum name="AREFA" start="0x3" description="External reference" />
+        <Enum name="AREFB" start="0x4" description="External reference" />
+      </BitField>
+      <BitField start="7" size="1" name="REFCOMP" description="Reference Buffer Offset Compensation Enable" />
+    </Register>
+    <Register start="+0x1A" size="2" name="ADC_RESULT" access="ReadOnly" description="Result" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="RESULT" description="Result Conversion Value" />
+    </Register>
+    <Register start="+0x03" size="1" name="ADC_SAMPCTRL" access="Read/Write" description="Sampling Time Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="SAMPLEN" description="Sampling Time Length" />
+    </Register>
+    <Register start="+0x19" size="1" name="ADC_STATUS" access="ReadOnly" description="Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy" />
+    </Register>
+    <Register start="+0x0C" size="1" name="ADC_SWTRIG" access="Read/Write" description="Software Trigger" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="FLUSH" description="ADC Conversion Flush" />
+      <BitField start="1" size="1" name="START" description="ADC Start Conversion" />
+    </Register>
+    <Register start="+0x08" size="1" name="ADC_WINCTRL" access="Read/Write" description="Window Monitor Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="WINMODE" description="Window Monitor Mode">
+        <Enum name="DISABLE" start="0x0" description="No window mode (default)" />
+        <Enum name="MODE1" start="0x1" description="Mode 1: RESULT &gt; WINLT" />
+        <Enum name="MODE2" start="0x2" description="Mode 2: RESULT &lt; WINUT" />
+        <Enum name="MODE3" start="0x3" description="Mode 3: WINLT &lt; RESULT &lt; WINUT" />
+        <Enum name="MODE4" start="0x4" description="Mode 4: !(WINLT &lt; RESULT &lt; WINUT)" />
+      </BitField>
+    </Register>
+    <Register start="+0x1C" size="2" name="ADC_WINLT" access="Read/Write" description="Window Monitor Lower Threshold" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="WINLT" description="Window Lower Threshold" />
+    </Register>
+    <Register start="+0x20" size="2" name="ADC_WINUT" access="Read/Write" description="Window Monitor Upper Threshold" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="WINUT" description="Window Upper Threshold" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="DAC" start="0x42004800" description="Digital Analog Converter">
+    <Register start="+0x0" size="1" name="DAC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="1" name="RUNSTDBY" description="Run in Standby" />
+    </Register>
+    <Register start="+0x1" size="1" name="DAC_CTRLB" access="Read/Write" description="Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EOEN" description="External Output Enable" />
+      <BitField start="1" size="1" name="IOEN" description="Internal Output Enable" />
+      <BitField start="2" size="1" name="LEFTADJ" description="Left Adjusted Data" />
+      <BitField start="3" size="1" name="VPD" description="Voltage Pump Disable" />
+      <BitField start="4" size="1" name="BDWP" description="Bypass DATABUF Write Protection" />
+      <BitField start="6" size="2" name="REFSEL" description="Reference Selection">
+        <Enum name="INT1V" start="0x0" description="Internal 1.0V reference" />
+        <Enum name="AVCC" start="0x1" description="AVCC" />
+        <Enum name="VREFP" start="0x2" description="External reference" />
+      </BitField>
+    </Register>
+    <Register start="+0x8" size="2" name="DAC_DATA" access="Read/Write" description="Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="DATA" description="Data value to be converted" />
+    </Register>
+    <Register start="+0xC" size="2" name="DAC_DATABUF" access="Read/Write" description="Data Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="DATABUF" description="Data Buffer" />
+    </Register>
+    <Register start="+0x2" size="1" name="DAC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STARTEI" description="Start Conversion Event Input" />
+      <BitField start="1" size="1" name="EMPTYEO" description="Data Buffer Empty Event Output" />
+    </Register>
+    <Register start="+0x4" size="1" name="DAC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="UNDERRUN" description="Underrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EMPTY" description="Data Buffer Empty Interrupt Enable" />
+      <BitField start="2" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+    </Register>
+    <Register start="+0x5" size="1" name="DAC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="UNDERRUN" description="Underrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EMPTY" description="Data Buffer Empty Interrupt Enable" />
+      <BitField start="2" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+    </Register>
+    <Register start="+0x6" size="1" name="DAC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="UNDERRUN" description="Underrun" />
+      <BitField start="1" size="1" name="EMPTY" description="Data Buffer Empty" />
+      <BitField start="2" size="1" name="SYNCRDY" description="Synchronization Ready" />
+    </Register>
+    <Register start="+0x7" size="1" name="DAC_STATUS" access="ReadOnly" description="Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy Status" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="DMAC" start="0x41004800" description="Direct Memory Access Controller">
+    <Register start="+0x30" size="4" name="DMAC_ACTIVE" access="ReadOnly" description="Active Channel and Levels" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="LVLEX0" description="Level 0 Channel Trigger Request Executing" />
+      <BitField start="1" size="1" name="LVLEX1" description="Level 1 Channel Trigger Request Executing" />
+      <BitField start="2" size="1" name="LVLEX2" description="Level 2 Channel Trigger Request Executing" />
+      <BitField start="3" size="1" name="LVLEX3" description="Level 3 Channel Trigger Request Executing" />
+      <BitField start="8" size="5" name="ID" description="Active Channel ID" />
+      <BitField start="15" size="1" name="ABUSY" description="Active Channel Busy" />
+      <BitField start="16" size="16" name="BTCNT" description="Active Channel Block Transfer Count" />
+    </Register>
+    <Register start="+0x34" size="4" name="DMAC_BASEADDR" access="Read/Write" description="Descriptor Memory Section Base Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BASEADDR" description="Descriptor Memory Base Address" />
+    </Register>
+    <Register start="+0x28" size="4" name="DMAC_BUSYCH" access="ReadOnly" description="Busy Channels" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSYCH0" description="Busy Channel 0" />
+      <BitField start="1" size="1" name="BUSYCH1" description="Busy Channel 1" />
+      <BitField start="2" size="1" name="BUSYCH2" description="Busy Channel 2" />
+      <BitField start="3" size="1" name="BUSYCH3" description="Busy Channel 3" />
+      <BitField start="4" size="1" name="BUSYCH4" description="Busy Channel 4" />
+      <BitField start="5" size="1" name="BUSYCH5" description="Busy Channel 5" />
+      <BitField start="6" size="1" name="BUSYCH6" description="Busy Channel 6" />
+      <BitField start="7" size="1" name="BUSYCH7" description="Busy Channel 7" />
+      <BitField start="8" size="1" name="BUSYCH8" description="Busy Channel 8" />
+      <BitField start="9" size="1" name="BUSYCH9" description="Busy Channel 9" />
+      <BitField start="10" size="1" name="BUSYCH10" description="Busy Channel 10" />
+      <BitField start="11" size="1" name="BUSYCH11" description="Busy Channel 11" />
+    </Register>
+    <Register start="+0x40" size="1" name="DMAC_CHCTRLA" access="Read/Write" description="Channel Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+    </Register>
+    <Register start="+0x44" size="4" name="DMAC_CHCTRLB" access="Read/Write" description="Channel Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+      </BitField>
+      <BitField start="3" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="4" size="1" name="EVOE" description="Channel Event Output Enable" />
+      <BitField start="5" size="2" name="LVL" description="Channel Arbitration Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+      </BitField>
+      <BitField start="8" size="6" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="22" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BEAT" start="0x2" description="One trigger required for each beat transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x3F" size="1" name="DMAC_CHID" access="Read/Write" description="Channel ID" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="ID" description="Channel ID" />
+    </Register>
+    <Register start="+0x4C" size="1" name="DMAC_CHINTENCLR" access="Read/Write" description="Channel Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D" size="1" name="DMAC_CHINTENSET" access="Read/Write" description="Channel Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4E" size="1" name="DMAC_CHINTFLAG" access="Read/Write" description="Channel Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4F" size="1" name="DMAC_CHSTATUS" access="ReadOnly" description="Channel Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+    </Register>
+    <Register start="+0x08" size="4" name="DMAC_CRCCHKSUM" access="Read/Write" description="CRC Checksum" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CRCCHKSUM" description="CRC Checksum" />
+    </Register>
+    <Register start="+0x02" size="2" name="DMAC_CRCCTRL" access="Read/Write" description="CRC Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CRCBEATSIZE" description="CRC Beat Size">
+        <Enum name="BYTE" start="0x0" description="8-bit bus transfer" />
+        <Enum name="HWORD" start="0x1" description="16-bit bus transfer" />
+        <Enum name="WORD" start="0x2" description="32-bit bus transfer" />
+      </BitField>
+      <BitField start="2" size="2" name="CRCPOLY" description="CRC Polynomial Type">
+        <Enum name="CRC16" start="0x0" description="CRC-16 (CRC-CCITT)" />
+        <Enum name="CRC32" start="0x1" description="CRC32 (IEEE 802.3)" />
+      </BitField>
+      <BitField start="8" size="6" name="CRCSRC" description="CRC Input Source">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="IO" start="0x1" description="I/O interface" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="4" name="DMAC_CRCDATAIN" access="Read/Write" description="CRC Data Input" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CRCDATAIN" description="CRC Data Input" />
+    </Register>
+    <Register start="+0x0C" size="1" name="DMAC_CRCSTATUS" access="Read/Write" description="CRC Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CRCBUSY" description="CRC Module Busy" />
+      <BitField start="1" size="1" name="CRCZERO" description="CRC Zero" />
+    </Register>
+    <Register start="+0x00" size="2" name="DMAC_CTRL" access="Read/Write" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="DMAENABLE" description="DMA Enable" />
+      <BitField start="2" size="1" name="CRCENABLE" description="CRC Enable" />
+      <BitField start="8" size="1" name="LVLEN0" description="Priority Level 0 Enable" />
+      <BitField start="9" size="1" name="LVLEN1" description="Priority Level 1 Enable" />
+      <BitField start="10" size="1" name="LVLEN2" description="Priority Level 2 Enable" />
+      <BitField start="11" size="1" name="LVLEN3" description="Priority Level 3 Enable" />
+    </Register>
+    <Register start="+0x0D" size="1" name="DMAC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run" />
+    </Register>
+    <Register start="+0x20" size="2" name="DMAC_INTPEND" access="Read/Write" description="Interrupt Pending" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="ID" description="Channel ID" />
+      <BitField start="8" size="1" name="TERR" description="Transfer Error" />
+      <BitField start="9" size="1" name="TCMPL" description="Transfer Complete" />
+      <BitField start="10" size="1" name="SUSP" description="Channel Suspend" />
+      <BitField start="13" size="1" name="FERR" description="Fetch Error" />
+      <BitField start="14" size="1" name="BUSY" description="Busy" />
+      <BitField start="15" size="1" name="PEND" description="Pending" />
+    </Register>
+    <Register start="+0x24" size="4" name="DMAC_INTSTATUS" access="ReadOnly" description="Interrupt Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CHINT0" description="Channel 0 Pending Interrupt" />
+      <BitField start="1" size="1" name="CHINT1" description="Channel 1 Pending Interrupt" />
+      <BitField start="2" size="1" name="CHINT2" description="Channel 2 Pending Interrupt" />
+      <BitField start="3" size="1" name="CHINT3" description="Channel 3 Pending Interrupt" />
+      <BitField start="4" size="1" name="CHINT4" description="Channel 4 Pending Interrupt" />
+      <BitField start="5" size="1" name="CHINT5" description="Channel 5 Pending Interrupt" />
+      <BitField start="6" size="1" name="CHINT6" description="Channel 6 Pending Interrupt" />
+      <BitField start="7" size="1" name="CHINT7" description="Channel 7 Pending Interrupt" />
+      <BitField start="8" size="1" name="CHINT8" description="Channel 8 Pending Interrupt" />
+      <BitField start="9" size="1" name="CHINT9" description="Channel 9 Pending Interrupt" />
+      <BitField start="10" size="1" name="CHINT10" description="Channel 10 Pending Interrupt" />
+      <BitField start="11" size="1" name="CHINT11" description="Channel 11 Pending Interrupt" />
+    </Register>
+    <Register start="+0x2C" size="4" name="DMAC_PENDCH" access="ReadOnly" description="Pending Channels" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PENDCH0" description="Pending Channel 0" />
+      <BitField start="1" size="1" name="PENDCH1" description="Pending Channel 1" />
+      <BitField start="2" size="1" name="PENDCH2" description="Pending Channel 2" />
+      <BitField start="3" size="1" name="PENDCH3" description="Pending Channel 3" />
+      <BitField start="4" size="1" name="PENDCH4" description="Pending Channel 4" />
+      <BitField start="5" size="1" name="PENDCH5" description="Pending Channel 5" />
+      <BitField start="6" size="1" name="PENDCH6" description="Pending Channel 6" />
+      <BitField start="7" size="1" name="PENDCH7" description="Pending Channel 7" />
+      <BitField start="8" size="1" name="PENDCH8" description="Pending Channel 8" />
+      <BitField start="9" size="1" name="PENDCH9" description="Pending Channel 9" />
+      <BitField start="10" size="1" name="PENDCH10" description="Pending Channel 10" />
+      <BitField start="11" size="1" name="PENDCH11" description="Pending Channel 11" />
+    </Register>
+    <Register start="+0x14" size="4" name="DMAC_PRICTRL0" access="Read/Write" description="Priority Control 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="LVLPRI0" description="Level 0 Channel Priority Number" />
+      <BitField start="7" size="1" name="RRLVLEN0" description="Level 0 Round-Robin Scheduling Enable" />
+      <BitField start="8" size="4" name="LVLPRI1" description="Level 1 Channel Priority Number" />
+      <BitField start="15" size="1" name="RRLVLEN1" description="Level 1 Round-Robin Scheduling Enable" />
+      <BitField start="16" size="4" name="LVLPRI2" description="Level 2 Channel Priority Number" />
+      <BitField start="23" size="1" name="RRLVLEN2" description="Level 2 Round-Robin Scheduling Enable" />
+      <BitField start="24" size="4" name="LVLPRI3" description="Level 3 Channel Priority Number" />
+      <BitField start="31" size="1" name="RRLVLEN3" description="Level 3 Round-Robin Scheduling Enable" />
+    </Register>
+    <Register start="+0x0E" size="1" name="DMAC_QOSCTRL" access="Read/Write" description="QOS Control" reset_value="0x15" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WRBQOS" description="Write-Back Quality of Service">
+        <Enum name="DISABLE" start="0x0" description="Background (no sensitive operation)" />
+        <Enum name="LOW" start="0x1" description="Sensitive Bandwidth" />
+        <Enum name="MEDIUM" start="0x2" description="Sensitive Latency" />
+        <Enum name="HIGH" start="0x3" description="Critical Latency" />
+      </BitField>
+      <BitField start="2" size="2" name="FQOS" description="Fetch Quality of Service">
+        <Enum name="DISABLE" start="0x0" description="Background (no sensitive operation)" />
+        <Enum name="LOW" start="0x1" description="Sensitive Bandwidth" />
+        <Enum name="MEDIUM" start="0x2" description="Sensitive Latency" />
+        <Enum name="HIGH" start="0x3" description="Critical Latency" />
+      </BitField>
+      <BitField start="4" size="2" name="DQOS" description="Data Transfer Quality of Service">
+        <Enum name="DISABLE" start="0x0" description="Background (no sensitive operation)" />
+        <Enum name="LOW" start="0x1" description="Sensitive Bandwidth" />
+        <Enum name="MEDIUM" start="0x2" description="Sensitive Latency" />
+        <Enum name="HIGH" start="0x3" description="Critical Latency" />
+      </BitField>
+    </Register>
+    <Register start="+0x10" size="4" name="DMAC_SWTRIGCTRL" access="Read/Write" description="Software Trigger Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWTRIG0" description="Channel 0 Software Trigger" />
+      <BitField start="1" size="1" name="SWTRIG1" description="Channel 1 Software Trigger" />
+      <BitField start="2" size="1" name="SWTRIG2" description="Channel 2 Software Trigger" />
+      <BitField start="3" size="1" name="SWTRIG3" description="Channel 3 Software Trigger" />
+      <BitField start="4" size="1" name="SWTRIG4" description="Channel 4 Software Trigger" />
+      <BitField start="5" size="1" name="SWTRIG5" description="Channel 5 Software Trigger" />
+      <BitField start="6" size="1" name="SWTRIG6" description="Channel 6 Software Trigger" />
+      <BitField start="7" size="1" name="SWTRIG7" description="Channel 7 Software Trigger" />
+      <BitField start="8" size="1" name="SWTRIG8" description="Channel 8 Software Trigger" />
+      <BitField start="9" size="1" name="SWTRIG9" description="Channel 9 Software Trigger" />
+      <BitField start="10" size="1" name="SWTRIG10" description="Channel 10 Software Trigger" />
+      <BitField start="11" size="1" name="SWTRIG11" description="Channel 11 Software Trigger" />
+    </Register>
+    <Register start="+0x38" size="4" name="DMAC_WRBADDR" access="Read/Write" description="Write-Back Memory Section Base Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="WRBADDR" description="Write-Back Memory Base Address" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="DSU" start="0x41002000" description="Device Service Unit">
+    <Register start="+0x0004" size="4" name="DSU_ADDR" access="Read/Write" description="Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="30" name="ADDR" description="Address" />
+    </Register>
+    <Register start="+0x1FF0" size="4" name="DSU_CID0" access="ReadOnly" description="Component Identification 0" reset_value="0x0000000D" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PREAMBLEB0" description="Preamble Byte 0" />
+    </Register>
+    <Register start="+0x1FF4" size="4" name="DSU_CID1" access="ReadOnly" description="Component Identification 1" reset_value="0x00000010" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PREAMBLE" description="Preamble" />
+      <BitField start="4" size="4" name="CCLASS" description="Component Class" />
+    </Register>
+    <Register start="+0x1FF8" size="4" name="DSU_CID2" access="ReadOnly" description="Component Identification 2" reset_value="0x00000005" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PREAMBLEB2" description="Preamble Byte 2" />
+    </Register>
+    <Register start="+0x1FFC" size="4" name="DSU_CID3" access="ReadOnly" description="Component Identification 3" reset_value="0x000000B1" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PREAMBLEB3" description="Preamble Byte 3" />
+    </Register>
+    <Register start="+0x0000" size="1" name="DSU_CTRL" access="WriteOnly" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="2" size="1" name="CRC" description="32-bit Cyclic Redundancy Check" />
+      <BitField start="3" size="1" name="MBIST" description="Memory Built-In Self-Test" />
+      <BitField start="4" size="1" name="CE" description="Chip Erase" />
+    </Register>
+    <Register start="+0x000C" size="4" name="DSU_DATA" access="Read/Write" description="Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data" />
+    </Register>
+    <Register start="+0x0010+0" size="4" name="DSU_DCC0" access="Read/Write" description="Debug Communication Channel n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data" />
+    </Register>
+    <Register start="+0x0010+4" size="4" name="DSU_DCC1" access="Read/Write" description="Debug Communication Channel n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data" />
+    </Register>
+    <Register start="+0x0018" size="4" name="DSU_DID" access="ReadOnly" description="Device Identification" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="DEVSEL" description="Device Select" />
+      <BitField start="8" size="4" name="REVISION" description="Revision" />
+      <BitField start="12" size="4" name="DIE" description="Die Identification" />
+      <BitField start="16" size="6" name="SERIES" description="Product Series" />
+      <BitField start="23" size="5" name="FAMILY" description="Product Family" />
+      <BitField start="28" size="4" name="PROCESSOR" description="Processor" />
+    </Register>
+    <Register start="+0x1008" size="4" name="DSU_END" access="ReadOnly" description="Coresight ROM Table End" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="END" description="End Marker" />
+    </Register>
+    <Register start="+0x1000+0" size="4" name="DSU_ENTRY0" access="ReadOnly" description="Coresight ROM Table Entry n" reset_value="0x00000002" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EPRES" description="Entry Present" />
+      <BitField start="1" size="1" name="FMT" description="Format" />
+      <BitField start="12" size="20" name="ADDOFF" description="Address Offset" />
+    </Register>
+    <Register start="+0x1000+4" size="4" name="DSU_ENTRY1" access="ReadOnly" description="Coresight ROM Table Entry n" reset_value="0x00000002" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EPRES" description="Entry Present" />
+      <BitField start="1" size="1" name="FMT" description="Format" />
+      <BitField start="12" size="20" name="ADDOFF" description="Address Offset" />
+    </Register>
+    <Register start="+0x0008" size="4" name="DSU_LENGTH" access="Read/Write" description="Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="30" name="LENGTH" description="Length" />
+    </Register>
+    <Register start="+0x1FCC" size="4" name="DSU_MEMTYPE" access="ReadOnly" description="Coresight ROM Table Memory Type" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SMEMP" description="System Memory Present" />
+    </Register>
+    <Register start="+0x1FE0" size="4" name="DSU_PID0" access="ReadOnly" description="Peripheral Identification 0" reset_value="0x000000D0" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PARTNBL" description="Part Number Low" />
+    </Register>
+    <Register start="+0x1FE4" size="4" name="DSU_PID1" access="ReadOnly" description="Peripheral Identification 1" reset_value="0x000000FC" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PARTNBH" description="Part Number High" />
+      <BitField start="4" size="4" name="JEPIDCL" description="Low part of the JEP-106 Identity Code" />
+    </Register>
+    <Register start="+0x1FE8" size="4" name="DSU_PID2" access="ReadOnly" description="Peripheral Identification 2" reset_value="0x00000009" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="JEPIDCH" description="JEP-106 Identity Code High" />
+      <BitField start="3" size="1" name="JEPU" description="JEP-106 Identity Code is used" />
+      <BitField start="4" size="4" name="REVISION" description="Revision Number" />
+    </Register>
+    <Register start="+0x1FEC" size="4" name="DSU_PID3" access="ReadOnly" description="Peripheral Identification 3" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CUSMOD" description="ARM CUSMOD" />
+      <BitField start="4" size="4" name="REVAND" description="Revision Number" />
+    </Register>
+    <Register start="+0x1FD0" size="4" name="DSU_PID4" access="ReadOnly" description="Peripheral Identification 4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="JEPCC" description="JEP-106 Continuation Code" />
+      <BitField start="4" size="4" name="FKBC" description="4KB Count" />
+    </Register>
+    <Register start="+0x0001" size="1" name="DSU_STATUSA" access="Read/Write" description="Status A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DONE" description="Done" />
+      <BitField start="1" size="1" name="CRSTEXT" description="CPU Reset Phase Extension" />
+      <BitField start="2" size="1" name="BERR" description="Bus Error" />
+      <BitField start="3" size="1" name="FAIL" description="Failure" />
+      <BitField start="4" size="1" name="PERR" description="Protection Error" />
+    </Register>
+    <Register start="+0x0002" size="1" name="DSU_STATUSB" access="ReadOnly" description="Status B" reset_value="0x10" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PROT" description="Protected" />
+      <BitField start="1" size="1" name="DBGPRES" description="Debugger Present" />
+      <BitField start="2" size="1" name="DCCD0" description="Debug Communication Channel 0 Dirty" />
+      <BitField start="3" size="1" name="DCCD1" description="Debug Communication Channel 1 Dirty" />
+      <BitField start="4" size="1" name="HPE" description="Hot-Plugging Enable" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="EIC" start="0x40001800" description="External Interrupt Controller">
+    <Register start="+0x18+0" size="4" name="EIC_CONFIG0" access="Read/Write" description="Configuration n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="SENSE0" description="Input Sense 0 Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising-edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling-edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both-edges detection" />
+        <Enum name="HIGH" start="0x4" description="High-level detection" />
+        <Enum name="LOW" start="0x5" description="Low-level detection" />
+      </BitField>
+      <BitField start="3" size="1" name="FILTEN0" description="Filter 0 Enable" />
+      <BitField start="4" size="3" name="SENSE1" description="Input Sense 1 Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="7" size="1" name="FILTEN1" description="Filter 1 Enable" />
+      <BitField start="8" size="3" name="SENSE2" description="Input Sense 2 Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="11" size="1" name="FILTEN2" description="Filter 2 Enable" />
+      <BitField start="12" size="3" name="SENSE3" description="Input Sense 3 Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="15" size="1" name="FILTEN3" description="Filter 3 Enable" />
+      <BitField start="16" size="3" name="SENSE4" description="Input Sense 4 Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="19" size="1" name="FILTEN4" description="Filter 4 Enable" />
+      <BitField start="20" size="3" name="SENSE5" description="Input Sense 5 Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="23" size="1" name="FILTEN5" description="Filter 5 Enable" />
+      <BitField start="24" size="3" name="SENSE6" description="Input Sense 6 Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="27" size="1" name="FILTEN6" description="Filter 6 Enable" />
+      <BitField start="28" size="3" name="SENSE7" description="Input Sense 7 Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="31" size="1" name="FILTEN7" description="Filter 7 Enable" />
+    </Register>
+    <Register start="+0x18+4" size="4" name="EIC_CONFIG1" access="Read/Write" description="Configuration n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="SENSE0" description="Input Sense 0 Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising-edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling-edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both-edges detection" />
+        <Enum name="HIGH" start="0x4" description="High-level detection" />
+        <Enum name="LOW" start="0x5" description="Low-level detection" />
+      </BitField>
+      <BitField start="3" size="1" name="FILTEN0" description="Filter 0 Enable" />
+      <BitField start="4" size="3" name="SENSE1" description="Input Sense 1 Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="7" size="1" name="FILTEN1" description="Filter 1 Enable" />
+      <BitField start="8" size="3" name="SENSE2" description="Input Sense 2 Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="11" size="1" name="FILTEN2" description="Filter 2 Enable" />
+      <BitField start="12" size="3" name="SENSE3" description="Input Sense 3 Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="15" size="1" name="FILTEN3" description="Filter 3 Enable" />
+      <BitField start="16" size="3" name="SENSE4" description="Input Sense 4 Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="19" size="1" name="FILTEN4" description="Filter 4 Enable" />
+      <BitField start="20" size="3" name="SENSE5" description="Input Sense 5 Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="23" size="1" name="FILTEN5" description="Filter 5 Enable" />
+      <BitField start="24" size="3" name="SENSE6" description="Input Sense 6 Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="27" size="1" name="FILTEN6" description="Filter 6 Enable" />
+      <BitField start="28" size="3" name="SENSE7" description="Input Sense 7 Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="31" size="1" name="FILTEN7" description="Filter 7 Enable" />
+    </Register>
+    <Register start="+0x00" size="1" name="EIC_CTRL" access="Read/Write" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="EIC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EXTINTEO0" description="External Interrupt 0 Event Output Enable" />
+      <BitField start="1" size="1" name="EXTINTEO1" description="External Interrupt 1 Event Output Enable" />
+      <BitField start="2" size="1" name="EXTINTEO2" description="External Interrupt 2 Event Output Enable" />
+      <BitField start="3" size="1" name="EXTINTEO3" description="External Interrupt 3 Event Output Enable" />
+      <BitField start="4" size="1" name="EXTINTEO4" description="External Interrupt 4 Event Output Enable" />
+      <BitField start="5" size="1" name="EXTINTEO5" description="External Interrupt 5 Event Output Enable" />
+      <BitField start="6" size="1" name="EXTINTEO6" description="External Interrupt 6 Event Output Enable" />
+      <BitField start="7" size="1" name="EXTINTEO7" description="External Interrupt 7 Event Output Enable" />
+      <BitField start="8" size="1" name="EXTINTEO8" description="External Interrupt 8 Event Output Enable" />
+      <BitField start="9" size="1" name="EXTINTEO9" description="External Interrupt 9 Event Output Enable" />
+      <BitField start="10" size="1" name="EXTINTEO10" description="External Interrupt 10 Event Output Enable" />
+      <BitField start="11" size="1" name="EXTINTEO11" description="External Interrupt 11 Event Output Enable" />
+      <BitField start="12" size="1" name="EXTINTEO12" description="External Interrupt 12 Event Output Enable" />
+      <BitField start="13" size="1" name="EXTINTEO13" description="External Interrupt 13 Event Output Enable" />
+      <BitField start="14" size="1" name="EXTINTEO14" description="External Interrupt 14 Event Output Enable" />
+      <BitField start="15" size="1" name="EXTINTEO15" description="External Interrupt 15 Event Output Enable" />
+    </Register>
+    <Register start="+0x08" size="4" name="EIC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EXTINT0" description="External Interrupt 0 Enable" />
+      <BitField start="1" size="1" name="EXTINT1" description="External Interrupt 1 Enable" />
+      <BitField start="2" size="1" name="EXTINT2" description="External Interrupt 2 Enable" />
+      <BitField start="3" size="1" name="EXTINT3" description="External Interrupt 3 Enable" />
+      <BitField start="4" size="1" name="EXTINT4" description="External Interrupt 4 Enable" />
+      <BitField start="5" size="1" name="EXTINT5" description="External Interrupt 5 Enable" />
+      <BitField start="6" size="1" name="EXTINT6" description="External Interrupt 6 Enable" />
+      <BitField start="7" size="1" name="EXTINT7" description="External Interrupt 7 Enable" />
+      <BitField start="8" size="1" name="EXTINT8" description="External Interrupt 8 Enable" />
+      <BitField start="9" size="1" name="EXTINT9" description="External Interrupt 9 Enable" />
+      <BitField start="10" size="1" name="EXTINT10" description="External Interrupt 10 Enable" />
+      <BitField start="11" size="1" name="EXTINT11" description="External Interrupt 11 Enable" />
+      <BitField start="12" size="1" name="EXTINT12" description="External Interrupt 12 Enable" />
+      <BitField start="13" size="1" name="EXTINT13" description="External Interrupt 13 Enable" />
+      <BitField start="14" size="1" name="EXTINT14" description="External Interrupt 14 Enable" />
+      <BitField start="15" size="1" name="EXTINT15" description="External Interrupt 15 Enable" />
+    </Register>
+    <Register start="+0x0C" size="4" name="EIC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EXTINT0" description="External Interrupt 0 Enable" />
+      <BitField start="1" size="1" name="EXTINT1" description="External Interrupt 1 Enable" />
+      <BitField start="2" size="1" name="EXTINT2" description="External Interrupt 2 Enable" />
+      <BitField start="3" size="1" name="EXTINT3" description="External Interrupt 3 Enable" />
+      <BitField start="4" size="1" name="EXTINT4" description="External Interrupt 4 Enable" />
+      <BitField start="5" size="1" name="EXTINT5" description="External Interrupt 5 Enable" />
+      <BitField start="6" size="1" name="EXTINT6" description="External Interrupt 6 Enable" />
+      <BitField start="7" size="1" name="EXTINT7" description="External Interrupt 7 Enable" />
+      <BitField start="8" size="1" name="EXTINT8" description="External Interrupt 8 Enable" />
+      <BitField start="9" size="1" name="EXTINT9" description="External Interrupt 9 Enable" />
+      <BitField start="10" size="1" name="EXTINT10" description="External Interrupt 10 Enable" />
+      <BitField start="11" size="1" name="EXTINT11" description="External Interrupt 11 Enable" />
+      <BitField start="12" size="1" name="EXTINT12" description="External Interrupt 12 Enable" />
+      <BitField start="13" size="1" name="EXTINT13" description="External Interrupt 13 Enable" />
+      <BitField start="14" size="1" name="EXTINT14" description="External Interrupt 14 Enable" />
+      <BitField start="15" size="1" name="EXTINT15" description="External Interrupt 15 Enable" />
+    </Register>
+    <Register start="+0x10" size="4" name="EIC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EXTINT0" description="External Interrupt 0" />
+      <BitField start="1" size="1" name="EXTINT1" description="External Interrupt 1" />
+      <BitField start="2" size="1" name="EXTINT2" description="External Interrupt 2" />
+      <BitField start="3" size="1" name="EXTINT3" description="External Interrupt 3" />
+      <BitField start="4" size="1" name="EXTINT4" description="External Interrupt 4" />
+      <BitField start="5" size="1" name="EXTINT5" description="External Interrupt 5" />
+      <BitField start="6" size="1" name="EXTINT6" description="External Interrupt 6" />
+      <BitField start="7" size="1" name="EXTINT7" description="External Interrupt 7" />
+      <BitField start="8" size="1" name="EXTINT8" description="External Interrupt 8" />
+      <BitField start="9" size="1" name="EXTINT9" description="External Interrupt 9" />
+      <BitField start="10" size="1" name="EXTINT10" description="External Interrupt 10" />
+      <BitField start="11" size="1" name="EXTINT11" description="External Interrupt 11" />
+      <BitField start="12" size="1" name="EXTINT12" description="External Interrupt 12" />
+      <BitField start="13" size="1" name="EXTINT13" description="External Interrupt 13" />
+      <BitField start="14" size="1" name="EXTINT14" description="External Interrupt 14" />
+      <BitField start="15" size="1" name="EXTINT15" description="External Interrupt 15" />
+    </Register>
+    <Register start="+0x02" size="1" name="EIC_NMICTRL" access="Read/Write" description="Non-Maskable Interrupt Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="NMISENSE" description="Non-Maskable Interrupt Sense">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising-edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling-edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both-edges detection" />
+        <Enum name="HIGH" start="0x4" description="High-level detection" />
+        <Enum name="LOW" start="0x5" description="Low-level detection" />
+      </BitField>
+      <BitField start="3" size="1" name="NMIFILTEN" description="Non-Maskable Interrupt Filter Enable" />
+    </Register>
+    <Register start="+0x03" size="1" name="EIC_NMIFLAG" access="Read/Write" description="Non-Maskable Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="NMI" description="Non-Maskable Interrupt" />
+    </Register>
+    <Register start="+0x01" size="1" name="EIC_STATUS" access="ReadOnly" description="Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy" />
+    </Register>
+    <Register start="+0x14" size="4" name="EIC_WAKEUP" access="Read/Write" description="Wake-Up Enable" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="WAKEUPEN0" description="External Interrupt 0 Wake-up Enable" />
+      <BitField start="1" size="1" name="WAKEUPEN1" description="External Interrupt 1 Wake-up Enable" />
+      <BitField start="2" size="1" name="WAKEUPEN2" description="External Interrupt 2 Wake-up Enable" />
+      <BitField start="3" size="1" name="WAKEUPEN3" description="External Interrupt 3 Wake-up Enable" />
+      <BitField start="4" size="1" name="WAKEUPEN4" description="External Interrupt 4 Wake-up Enable" />
+      <BitField start="5" size="1" name="WAKEUPEN5" description="External Interrupt 5 Wake-up Enable" />
+      <BitField start="6" size="1" name="WAKEUPEN6" description="External Interrupt 6 Wake-up Enable" />
+      <BitField start="7" size="1" name="WAKEUPEN7" description="External Interrupt 7 Wake-up Enable" />
+      <BitField start="8" size="1" name="WAKEUPEN8" description="External Interrupt 8 Wake-up Enable" />
+      <BitField start="9" size="1" name="WAKEUPEN9" description="External Interrupt 9 Wake-up Enable" />
+      <BitField start="10" size="1" name="WAKEUPEN10" description="External Interrupt 10 Wake-up Enable" />
+      <BitField start="11" size="1" name="WAKEUPEN11" description="External Interrupt 11 Wake-up Enable" />
+      <BitField start="12" size="1" name="WAKEUPEN12" description="External Interrupt 12 Wake-up Enable" />
+      <BitField start="13" size="1" name="WAKEUPEN13" description="External Interrupt 13 Wake-up Enable" />
+      <BitField start="14" size="1" name="WAKEUPEN14" description="External Interrupt 14 Wake-up Enable" />
+      <BitField start="15" size="1" name="WAKEUPEN15" description="External Interrupt 15 Wake-up Enable" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="EVSYS" start="0x42000400" description="Event System Interface">
+    <Register start="+0x04" size="4" name="EVSYS_CHANNEL" access="Read/Write" description="Channel" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CHANNEL" description="Channel Selection" />
+      <BitField start="8" size="1" name="SWEVT" description="Software Event" />
+      <BitField start="16" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="24" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="26" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+    </Register>
+    <Register start="+0x0C" size="4" name="EVSYS_CHSTATUS" access="ReadOnly" description="Channel Status" reset_value="0x000F00FF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="USRRDY0" description="Channel 0 User Ready" />
+      <BitField start="1" size="1" name="USRRDY1" description="Channel 1 User Ready" />
+      <BitField start="2" size="1" name="USRRDY2" description="Channel 2 User Ready" />
+      <BitField start="3" size="1" name="USRRDY3" description="Channel 3 User Ready" />
+      <BitField start="4" size="1" name="USRRDY4" description="Channel 4 User Ready" />
+      <BitField start="5" size="1" name="USRRDY5" description="Channel 5 User Ready" />
+      <BitField start="6" size="1" name="USRRDY6" description="Channel 6 User Ready" />
+      <BitField start="7" size="1" name="USRRDY7" description="Channel 7 User Ready" />
+      <BitField start="8" size="1" name="CHBUSY0" description="Channel 0 Busy" />
+      <BitField start="9" size="1" name="CHBUSY1" description="Channel 1 Busy" />
+      <BitField start="10" size="1" name="CHBUSY2" description="Channel 2 Busy" />
+      <BitField start="11" size="1" name="CHBUSY3" description="Channel 3 Busy" />
+      <BitField start="12" size="1" name="CHBUSY4" description="Channel 4 Busy" />
+      <BitField start="13" size="1" name="CHBUSY5" description="Channel 5 Busy" />
+      <BitField start="14" size="1" name="CHBUSY6" description="Channel 6 Busy" />
+      <BitField start="15" size="1" name="CHBUSY7" description="Channel 7 Busy" />
+      <BitField start="16" size="1" name="USRRDY8" description="Channel 8 User Ready" />
+      <BitField start="17" size="1" name="USRRDY9" description="Channel 9 User Ready" />
+      <BitField start="18" size="1" name="USRRDY10" description="Channel 10 User Ready" />
+      <BitField start="19" size="1" name="USRRDY11" description="Channel 11 User Ready" />
+      <BitField start="24" size="1" name="CHBUSY8" description="Channel 8 Busy" />
+      <BitField start="25" size="1" name="CHBUSY9" description="Channel 9 Busy" />
+      <BitField start="26" size="1" name="CHBUSY10" description="Channel 10 Busy" />
+      <BitField start="27" size="1" name="CHBUSY11" description="Channel 11 Busy" />
+    </Register>
+    <Register start="+0x00" size="1" name="EVSYS_CTRL" access="WriteOnly" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="4" size="1" name="GCLKREQ" description="Generic Clock Requests" />
+    </Register>
+    <Register start="+0x10" size="4" name="EVSYS_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR0" description="Channel 0 Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="OVR1" description="Channel 1 Overrun Interrupt Enable" />
+      <BitField start="2" size="1" name="OVR2" description="Channel 2 Overrun Interrupt Enable" />
+      <BitField start="3" size="1" name="OVR3" description="Channel 3 Overrun Interrupt Enable" />
+      <BitField start="4" size="1" name="OVR4" description="Channel 4 Overrun Interrupt Enable" />
+      <BitField start="5" size="1" name="OVR5" description="Channel 5 Overrun Interrupt Enable" />
+      <BitField start="6" size="1" name="OVR6" description="Channel 6 Overrun Interrupt Enable" />
+      <BitField start="7" size="1" name="OVR7" description="Channel 7 Overrun Interrupt Enable" />
+      <BitField start="8" size="1" name="EVD0" description="Channel 0 Event Detection Interrupt Enable" />
+      <BitField start="9" size="1" name="EVD1" description="Channel 1 Event Detection Interrupt Enable" />
+      <BitField start="10" size="1" name="EVD2" description="Channel 2 Event Detection Interrupt Enable" />
+      <BitField start="11" size="1" name="EVD3" description="Channel 3 Event Detection Interrupt Enable" />
+      <BitField start="12" size="1" name="EVD4" description="Channel 4 Event Detection Interrupt Enable" />
+      <BitField start="13" size="1" name="EVD5" description="Channel 5 Event Detection Interrupt Enable" />
+      <BitField start="14" size="1" name="EVD6" description="Channel 6 Event Detection Interrupt Enable" />
+      <BitField start="15" size="1" name="EVD7" description="Channel 7 Event Detection Interrupt Enable" />
+      <BitField start="16" size="1" name="OVR8" description="Channel 8 Overrun Interrupt Enable" />
+      <BitField start="17" size="1" name="OVR9" description="Channel 9 Overrun Interrupt Enable" />
+      <BitField start="18" size="1" name="OVR10" description="Channel 10 Overrun Interrupt Enable" />
+      <BitField start="19" size="1" name="OVR11" description="Channel 11 Overrun Interrupt Enable" />
+      <BitField start="24" size="1" name="EVD8" description="Channel 8 Event Detection Interrupt Enable" />
+      <BitField start="25" size="1" name="EVD9" description="Channel 9 Event Detection Interrupt Enable" />
+      <BitField start="26" size="1" name="EVD10" description="Channel 10 Event Detection Interrupt Enable" />
+      <BitField start="27" size="1" name="EVD11" description="Channel 11 Event Detection Interrupt Enable" />
+    </Register>
+    <Register start="+0x14" size="4" name="EVSYS_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR0" description="Channel 0 Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="OVR1" description="Channel 1 Overrun Interrupt Enable" />
+      <BitField start="2" size="1" name="OVR2" description="Channel 2 Overrun Interrupt Enable" />
+      <BitField start="3" size="1" name="OVR3" description="Channel 3 Overrun Interrupt Enable" />
+      <BitField start="4" size="1" name="OVR4" description="Channel 4 Overrun Interrupt Enable" />
+      <BitField start="5" size="1" name="OVR5" description="Channel 5 Overrun Interrupt Enable" />
+      <BitField start="6" size="1" name="OVR6" description="Channel 6 Overrun Interrupt Enable" />
+      <BitField start="7" size="1" name="OVR7" description="Channel 7 Overrun Interrupt Enable" />
+      <BitField start="8" size="1" name="EVD0" description="Channel 0 Event Detection Interrupt Enable" />
+      <BitField start="9" size="1" name="EVD1" description="Channel 1 Event Detection Interrupt Enable" />
+      <BitField start="10" size="1" name="EVD2" description="Channel 2 Event Detection Interrupt Enable" />
+      <BitField start="11" size="1" name="EVD3" description="Channel 3 Event Detection Interrupt Enable" />
+      <BitField start="12" size="1" name="EVD4" description="Channel 4 Event Detection Interrupt Enable" />
+      <BitField start="13" size="1" name="EVD5" description="Channel 5 Event Detection Interrupt Enable" />
+      <BitField start="14" size="1" name="EVD6" description="Channel 6 Event Detection Interrupt Enable" />
+      <BitField start="15" size="1" name="EVD7" description="Channel 7 Event Detection Interrupt Enable" />
+      <BitField start="16" size="1" name="OVR8" description="Channel 8 Overrun Interrupt Enable" />
+      <BitField start="17" size="1" name="OVR9" description="Channel 9 Overrun Interrupt Enable" />
+      <BitField start="18" size="1" name="OVR10" description="Channel 10 Overrun Interrupt Enable" />
+      <BitField start="19" size="1" name="OVR11" description="Channel 11 Overrun Interrupt Enable" />
+      <BitField start="24" size="1" name="EVD8" description="Channel 8 Event Detection Interrupt Enable" />
+      <BitField start="25" size="1" name="EVD9" description="Channel 9 Event Detection Interrupt Enable" />
+      <BitField start="26" size="1" name="EVD10" description="Channel 10 Event Detection Interrupt Enable" />
+      <BitField start="27" size="1" name="EVD11" description="Channel 11 Event Detection Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="4" name="EVSYS_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR0" description="Channel 0 Overrun" />
+      <BitField start="1" size="1" name="OVR1" description="Channel 1 Overrun" />
+      <BitField start="2" size="1" name="OVR2" description="Channel 2 Overrun" />
+      <BitField start="3" size="1" name="OVR3" description="Channel 3 Overrun" />
+      <BitField start="4" size="1" name="OVR4" description="Channel 4 Overrun" />
+      <BitField start="5" size="1" name="OVR5" description="Channel 5 Overrun" />
+      <BitField start="6" size="1" name="OVR6" description="Channel 6 Overrun" />
+      <BitField start="7" size="1" name="OVR7" description="Channel 7 Overrun" />
+      <BitField start="8" size="1" name="EVD0" description="Channel 0 Event Detection" />
+      <BitField start="9" size="1" name="EVD1" description="Channel 1 Event Detection" />
+      <BitField start="10" size="1" name="EVD2" description="Channel 2 Event Detection" />
+      <BitField start="11" size="1" name="EVD3" description="Channel 3 Event Detection" />
+      <BitField start="12" size="1" name="EVD4" description="Channel 4 Event Detection" />
+      <BitField start="13" size="1" name="EVD5" description="Channel 5 Event Detection" />
+      <BitField start="14" size="1" name="EVD6" description="Channel 6 Event Detection" />
+      <BitField start="15" size="1" name="EVD7" description="Channel 7 Event Detection" />
+      <BitField start="16" size="1" name="OVR8" description="Channel 8 Overrun" />
+      <BitField start="17" size="1" name="OVR9" description="Channel 9 Overrun" />
+      <BitField start="18" size="1" name="OVR10" description="Channel 10 Overrun" />
+      <BitField start="19" size="1" name="OVR11" description="Channel 11 Overrun" />
+      <BitField start="24" size="1" name="EVD8" description="Channel 8 Event Detection" />
+      <BitField start="25" size="1" name="EVD9" description="Channel 9 Event Detection" />
+      <BitField start="26" size="1" name="EVD10" description="Channel 10 Event Detection" />
+      <BitField start="27" size="1" name="EVD11" description="Channel 11 Event Detection" />
+    </Register>
+    <Register start="+0x08" size="2" name="EVSYS_USER" access="Read/Write" description="User Multiplexer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="USER" description="User Multiplexer Selection" />
+      <BitField start="8" size="5" name="CHANNEL" description="Channel Event Selection">
+        <Enum name="0" start="0x0" description="No Channel Output Selected" />
+      </BitField>
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="GCLK" start="0x40000C00" description="Generic Clock Generator">
+    <Register start="+0x2" size="2" name="GCLK_CLKCTRL" access="Read/Write" description="Generic Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="ID" description="Generic Clock Selection ID">
+        <Enum name="DFLL48" start="0x0" description="DFLL48" />
+        <Enum name="FDPLL" start="0x1" description="FDPLL" />
+        <Enum name="FDPLL32K" start="0x2" description="FDPLL32K" />
+        <Enum name="WDT" start="0x3" description="WDT" />
+        <Enum name="RTC" start="0x4" description="RTC" />
+        <Enum name="EIC" start="0x5" description="EIC" />
+        <Enum name="USB" start="0x6" description="USB" />
+        <Enum name="EVSYS_0" start="0x7" description="EVSYS_0" />
+        <Enum name="EVSYS_1" start="0x8" description="EVSYS_1" />
+        <Enum name="EVSYS_2" start="0x9" description="EVSYS_2" />
+        <Enum name="EVSYS_3" start="0xa" description="EVSYS_3" />
+        <Enum name="EVSYS_4" start="0xb" description="EVSYS_4" />
+        <Enum name="EVSYS_5" start="0xc" description="EVSYS_5" />
+        <Enum name="EVSYS_6" start="0xd" description="EVSYS_6" />
+        <Enum name="EVSYS_7" start="0xe" description="EVSYS_7" />
+        <Enum name="EVSYS_8" start="0xf" description="EVSYS_8" />
+        <Enum name="EVSYS_9" start="0x10" description="EVSYS_9" />
+        <Enum name="EVSYS_10" start="0x11" description="EVSYS_10" />
+        <Enum name="EVSYS_11" start="0x12" description="EVSYS_11" />
+        <Enum name="SERCOMX_SLOW" start="0x13" description="SERCOMX_SLOW" />
+        <Enum name="SERCOM0_CORE" start="0x14" description="SERCOM0_CORE" />
+        <Enum name="SERCOM1_CORE" start="0x15" description="SERCOM1_CORE" />
+        <Enum name="SERCOM2_CORE" start="0x16" description="SERCOM2_CORE" />
+        <Enum name="SERCOM3_CORE" start="0x17" description="SERCOM3_CORE" />
+        <Enum name="SERCOM4_CORE" start="0x18" description="SERCOM4_CORE" />
+        <Enum name="SERCOM5_CORE" start="0x19" description="SERCOM5_CORE" />
+        <Enum name="TCC0_TCC1" start="0x1a" description="TCC0_TCC1" />
+        <Enum name="TCC2_TC3" start="0x1b" description="TCC2_TC3" />
+        <Enum name="TC4_TC5" start="0x1c" description="TC4_TC5" />
+        <Enum name="TC6_TC7" start="0x1d" description="TC6_TC7" />
+        <Enum name="ADC" start="0x1e" description="ADC" />
+        <Enum name="AC_DIG" start="0x1f" description="AC_DIG" />
+        <Enum name="AC_ANA" start="0x20" description="AC_ANA" />
+        <Enum name="DAC" start="0x21" description="DAC" />
+        <Enum name="PTC" start="0x22" description="PTC" />
+        <Enum name="I2S_0" start="0x23" description="I2S_0" />
+        <Enum name="I2S_1" start="0x24" description="I2S_1" />
+      </BitField>
+      <BitField start="8" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+      </BitField>
+      <BitField start="14" size="1" name="CLKEN" description="Clock Enable" />
+      <BitField start="15" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x0" size="1" name="GCLK_CTRL" access="Read/Write" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+    </Register>
+    <Register start="+0x4" size="4" name="GCLK_GENCTRL" access="Read/Write" description="Generic Clock Generator Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="ID" description="Generic Clock Generator Selection" />
+      <BitField start="8" size="5" name="SRC" description="Source Select">
+        <Enum name="XOSC" start="0x0" description="XOSC oscillator output" />
+        <Enum name="GCLKIN" start="0x1" description="Generator input pad" />
+        <Enum name="GCLKGEN1" start="0x2" description="Generic clock generator 1 output" />
+        <Enum name="OSCULP32K" start="0x3" description="OSCULP32K oscillator output" />
+        <Enum name="OSC32K" start="0x4" description="OSC32K oscillator output" />
+        <Enum name="XOSC32K" start="0x5" description="XOSC32K oscillator output" />
+        <Enum name="OSC8M" start="0x6" description="OSC8M oscillator output" />
+        <Enum name="DFLL48M" start="0x7" description="DFLL48M output" />
+        <Enum name="FDPLL" start="0x8" description="FDPLL output" />
+      </BitField>
+      <BitField start="16" size="1" name="GENEN" description="Generic Clock Generator Enable" />
+      <BitField start="17" size="1" name="IDC" description="Improve Duty Cycle" />
+      <BitField start="18" size="1" name="OOV" description="Output Off Value" />
+      <BitField start="19" size="1" name="OE" description="Output Enable" />
+      <BitField start="20" size="1" name="DIVSEL" description="Divide Selection" />
+      <BitField start="21" size="1" name="RUNSTDBY" description="Run in Standby" />
+    </Register>
+    <Register start="+0x8" size="4" name="GCLK_GENDIV" access="Read/Write" description="Generic Clock Generator Division" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="ID" description="Generic Clock Generator Selection" />
+      <BitField start="8" size="16" name="DIV" description="Division Factor" />
+    </Register>
+    <Register start="+0x1" size="1" name="GCLK_STATUS" access="ReadOnly" description="Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy Status" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="HMATRIX" start="0x41007000" description="HSB Matrix">
+    <Register start="+0x080+0" size="4" name="HMATRIXB_PRAS0" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+8" size="4" name="HMATRIXB_PRAS1" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+16" size="4" name="HMATRIXB_PRAS2" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+24" size="4" name="HMATRIXB_PRAS3" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+32" size="4" name="HMATRIXB_PRAS4" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+40" size="4" name="HMATRIXB_PRAS5" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+48" size="4" name="HMATRIXB_PRAS6" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+56" size="4" name="HMATRIXB_PRAS7" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+64" size="4" name="HMATRIXB_PRAS8" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+72" size="4" name="HMATRIXB_PRAS9" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+80" size="4" name="HMATRIXB_PRAS10" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+88" size="4" name="HMATRIXB_PRAS11" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+96" size="4" name="HMATRIXB_PRAS12" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+104" size="4" name="HMATRIXB_PRAS13" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+112" size="4" name="HMATRIXB_PRAS14" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+120" size="4" name="HMATRIXB_PRAS15" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+0" size="4" name="HMATRIXB_PRBS0" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+8" size="4" name="HMATRIXB_PRBS1" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+16" size="4" name="HMATRIXB_PRBS2" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+24" size="4" name="HMATRIXB_PRBS3" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+32" size="4" name="HMATRIXB_PRBS4" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+40" size="4" name="HMATRIXB_PRBS5" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+48" size="4" name="HMATRIXB_PRBS6" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+56" size="4" name="HMATRIXB_PRBS7" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+64" size="4" name="HMATRIXB_PRBS8" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+72" size="4" name="HMATRIXB_PRBS9" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+80" size="4" name="HMATRIXB_PRBS10" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+88" size="4" name="HMATRIXB_PRBS11" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+96" size="4" name="HMATRIXB_PRBS12" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+104" size="4" name="HMATRIXB_PRBS13" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+112" size="4" name="HMATRIXB_PRBS14" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+120" size="4" name="HMATRIXB_PRBS15" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x110+0" size="4" name="HMATRIXB_SFR0" access="Read/Write" description="Special Function" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SFR" description="Special Function Register" />
+    </Register>
+    <Register start="+0x110+4" size="4" name="HMATRIXB_SFR1" access="Read/Write" description="Special Function" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SFR" description="Special Function Register" />
+    </Register>
+    <Register start="+0x110+8" size="4" name="HMATRIXB_SFR2" access="Read/Write" description="Special Function" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SFR" description="Special Function Register" />
+    </Register>
+    <Register start="+0x110+12" size="4" name="HMATRIXB_SFR3" access="Read/Write" description="Special Function" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SFR" description="Special Function Register" />
+    </Register>
+    <Register start="+0x110+16" size="4" name="HMATRIXB_SFR4" access="Read/Write" description="Special Function" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SFR" description="Special Function Register" />
+    </Register>
+    <Register start="+0x110+20" size="4" name="HMATRIXB_SFR5" access="Read/Write" description="Special Function" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SFR" description="Special Function Register" />
+    </Register>
+    <Register start="+0x110+24" size="4" name="HMATRIXB_SFR6" access="Read/Write" description="Special Function" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SFR" description="Special Function Register" />
+    </Register>
+    <Register start="+0x110+28" size="4" name="HMATRIXB_SFR7" access="Read/Write" description="Special Function" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SFR" description="Special Function Register" />
+    </Register>
+    <Register start="+0x110+32" size="4" name="HMATRIXB_SFR8" access="Read/Write" description="Special Function" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SFR" description="Special Function Register" />
+    </Register>
+    <Register start="+0x110+36" size="4" name="HMATRIXB_SFR9" access="Read/Write" description="Special Function" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SFR" description="Special Function Register" />
+    </Register>
+    <Register start="+0x110+40" size="4" name="HMATRIXB_SFR10" access="Read/Write" description="Special Function" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SFR" description="Special Function Register" />
+    </Register>
+    <Register start="+0x110+44" size="4" name="HMATRIXB_SFR11" access="Read/Write" description="Special Function" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SFR" description="Special Function Register" />
+    </Register>
+    <Register start="+0x110+48" size="4" name="HMATRIXB_SFR12" access="Read/Write" description="Special Function" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SFR" description="Special Function Register" />
+    </Register>
+    <Register start="+0x110+52" size="4" name="HMATRIXB_SFR13" access="Read/Write" description="Special Function" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SFR" description="Special Function Register" />
+    </Register>
+    <Register start="+0x110+56" size="4" name="HMATRIXB_SFR14" access="Read/Write" description="Special Function" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SFR" description="Special Function Register" />
+    </Register>
+    <Register start="+0x110+60" size="4" name="HMATRIXB_SFR15" access="Read/Write" description="Special Function" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SFR" description="Special Function Register" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="I2S" start="0x42005000" description="Inter-IC Sound Interface">
+    <Register start="+0x04+0" size="4" name="I2S_CLKCTRL0" access="Read/Write" description="Clock Unit n Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SLOTSIZE" description="Slot Size">
+        <Enum name="8" start="0x0" description="8-bit Slot for Clock Unit n" />
+        <Enum name="16" start="0x1" description="16-bit Slot for Clock Unit n" />
+        <Enum name="24" start="0x2" description="24-bit Slot for Clock Unit n" />
+        <Enum name="32" start="0x3" description="32-bit Slot for Clock Unit n" />
+      </BitField>
+      <BitField start="2" size="3" name="NBSLOTS" description="Number of Slots in Frame" />
+      <BitField start="5" size="2" name="FSWIDTH" description="Frame Sync Width">
+        <Enum name="SLOT" start="0x0" description="Frame Sync Pulse is 1 Slot wide (default for I2S protocol)" />
+        <Enum name="HALF" start="0x1" description="Frame Sync Pulse is half a Frame wide" />
+        <Enum name="BIT" start="0x2" description="Frame Sync Pulse is 1 Bit wide" />
+        <Enum name="BURST" start="0x3" description="Clock Unit n operates in Burst mode, with a 1-bit wide Frame Sync pulse per Data sample, only when Data transfer is requested" />
+      </BitField>
+      <BitField start="7" size="1" name="BITDELAY" description="Data Delay from Frame Sync">
+        <Enum name="LJ" start="0x0" description="Left Justified (0 Bit Delay)" />
+        <Enum name="I2S" start="0x1" description="I2S (1 Bit Delay)" />
+      </BitField>
+      <BitField start="8" size="1" name="FSSEL" description="Frame Sync Select">
+        <Enum name="SCKDIV" start="0x0" description="Divided Serial Clock n is used as Frame Sync n source" />
+        <Enum name="FSPIN" start="0x1" description="FSn input pin is used as Frame Sync n source" />
+      </BitField>
+      <BitField start="11" size="1" name="FSINV" description="Frame Sync Invert" />
+      <BitField start="12" size="1" name="SCKSEL" description="Serial Clock Select">
+        <Enum name="MCKDIV" start="0x0" description="Divided Master Clock n is used as Serial Clock n source" />
+        <Enum name="SCKPIN" start="0x1" description="SCKn input pin is used as Serial Clock n source" />
+      </BitField>
+      <BitField start="16" size="1" name="MCKSEL" description="Master Clock Select">
+        <Enum name="GCLK" start="0x0" description="GCLK_I2S_n is used as Master Clock n source" />
+        <Enum name="MCKPIN" start="0x1" description="MCKn input pin is used as Master Clock n source" />
+      </BitField>
+      <BitField start="18" size="1" name="MCKEN" description="Master Clock Enable" />
+      <BitField start="19" size="5" name="MCKDIV" description="Master Clock Division Factor" />
+      <BitField start="24" size="5" name="MCKOUTDIV" description="Master Clock Output Division Factor" />
+      <BitField start="29" size="1" name="FSOUTINV" description="Frame Sync Output Invert" />
+      <BitField start="30" size="1" name="SCKOUTINV" description="Serial Clock Output Invert" />
+      <BitField start="31" size="1" name="MCKOUTINV" description="Master Clock Output Invert" />
+    </Register>
+    <Register start="+0x04+4" size="4" name="I2S_CLKCTRL1" access="Read/Write" description="Clock Unit n Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SLOTSIZE" description="Slot Size">
+        <Enum name="8" start="0x0" description="8-bit Slot for Clock Unit n" />
+        <Enum name="16" start="0x1" description="16-bit Slot for Clock Unit n" />
+        <Enum name="24" start="0x2" description="24-bit Slot for Clock Unit n" />
+        <Enum name="32" start="0x3" description="32-bit Slot for Clock Unit n" />
+      </BitField>
+      <BitField start="2" size="3" name="NBSLOTS" description="Number of Slots in Frame" />
+      <BitField start="5" size="2" name="FSWIDTH" description="Frame Sync Width">
+        <Enum name="SLOT" start="0x0" description="Frame Sync Pulse is 1 Slot wide (default for I2S protocol)" />
+        <Enum name="HALF" start="0x1" description="Frame Sync Pulse is half a Frame wide" />
+        <Enum name="BIT" start="0x2" description="Frame Sync Pulse is 1 Bit wide" />
+        <Enum name="BURST" start="0x3" description="Clock Unit n operates in Burst mode, with a 1-bit wide Frame Sync pulse per Data sample, only when Data transfer is requested" />
+      </BitField>
+      <BitField start="7" size="1" name="BITDELAY" description="Data Delay from Frame Sync">
+        <Enum name="LJ" start="0x0" description="Left Justified (0 Bit Delay)" />
+        <Enum name="I2S" start="0x1" description="I2S (1 Bit Delay)" />
+      </BitField>
+      <BitField start="8" size="1" name="FSSEL" description="Frame Sync Select">
+        <Enum name="SCKDIV" start="0x0" description="Divided Serial Clock n is used as Frame Sync n source" />
+        <Enum name="FSPIN" start="0x1" description="FSn input pin is used as Frame Sync n source" />
+      </BitField>
+      <BitField start="11" size="1" name="FSINV" description="Frame Sync Invert" />
+      <BitField start="12" size="1" name="SCKSEL" description="Serial Clock Select">
+        <Enum name="MCKDIV" start="0x0" description="Divided Master Clock n is used as Serial Clock n source" />
+        <Enum name="SCKPIN" start="0x1" description="SCKn input pin is used as Serial Clock n source" />
+      </BitField>
+      <BitField start="16" size="1" name="MCKSEL" description="Master Clock Select">
+        <Enum name="GCLK" start="0x0" description="GCLK_I2S_n is used as Master Clock n source" />
+        <Enum name="MCKPIN" start="0x1" description="MCKn input pin is used as Master Clock n source" />
+      </BitField>
+      <BitField start="18" size="1" name="MCKEN" description="Master Clock Enable" />
+      <BitField start="19" size="5" name="MCKDIV" description="Master Clock Division Factor" />
+      <BitField start="24" size="5" name="MCKOUTDIV" description="Master Clock Output Division Factor" />
+      <BitField start="29" size="1" name="FSOUTINV" description="Frame Sync Output Invert" />
+      <BitField start="30" size="1" name="SCKOUTINV" description="Serial Clock Output Invert" />
+      <BitField start="31" size="1" name="MCKOUTINV" description="Master Clock Output Invert" />
+    </Register>
+    <Register start="+0x00" size="1" name="I2S_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="1" name="CKEN0" description="Clock Unit 0 Enable" />
+      <BitField start="3" size="1" name="CKEN1" description="Clock Unit 1 Enable" />
+      <BitField start="4" size="1" name="SEREN0" description="Serializer 0 Enable" />
+      <BitField start="5" size="1" name="SEREN1" description="Serializer 1 Enable" />
+    </Register>
+    <Register start="+0x30+0" size="4" name="I2S_DATA0" access="Read/Write" description="Data n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Sample Data" />
+    </Register>
+    <Register start="+0x30+4" size="4" name="I2S_DATA1" access="Read/Write" description="Data n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Sample Data" />
+    </Register>
+    <Register start="+0x0C" size="2" name="I2S_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RXRDY0" description="Receive Ready 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="RXRDY1" description="Receive Ready 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXOR0" description="Receive Overrun 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="RXOR1" description="Receive Overrun 1 Interrupt Enable" />
+      <BitField start="8" size="1" name="TXRDY0" description="Transmit Ready 0 Interrupt Enable" />
+      <BitField start="9" size="1" name="TXRDY1" description="Transmit Ready 1 Interrupt Enable" />
+      <BitField start="12" size="1" name="TXUR0" description="Transmit Underrun 0 Interrupt Enable" />
+      <BitField start="13" size="1" name="TXUR1" description="Transmit Underrun 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x10" size="2" name="I2S_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RXRDY0" description="Receive Ready 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="RXRDY1" description="Receive Ready 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXOR0" description="Receive Overrun 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="RXOR1" description="Receive Overrun 1 Interrupt Enable" />
+      <BitField start="8" size="1" name="TXRDY0" description="Transmit Ready 0 Interrupt Enable" />
+      <BitField start="9" size="1" name="TXRDY1" description="Transmit Ready 1 Interrupt Enable" />
+      <BitField start="12" size="1" name="TXUR0" description="Transmit Underrun 0 Interrupt Enable" />
+      <BitField start="13" size="1" name="TXUR1" description="Transmit Underrun 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x14" size="2" name="I2S_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RXRDY0" description="Receive Ready 0" />
+      <BitField start="1" size="1" name="RXRDY1" description="Receive Ready 1" />
+      <BitField start="4" size="1" name="RXOR0" description="Receive Overrun 0" />
+      <BitField start="5" size="1" name="RXOR1" description="Receive Overrun 1" />
+      <BitField start="8" size="1" name="TXRDY0" description="Transmit Ready 0" />
+      <BitField start="9" size="1" name="TXRDY1" description="Transmit Ready 1" />
+      <BitField start="12" size="1" name="TXUR0" description="Transmit Underrun 0" />
+      <BitField start="13" size="1" name="TXUR1" description="Transmit Underrun 1" />
+    </Register>
+    <Register start="+0x20+0" size="4" name="I2S_SERCTRL0" access="Read/Write" description="Serializer n Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SERMODE" description="Serializer Mode">
+        <Enum name="RX" start="0x0" description="Receive" />
+        <Enum name="TX" start="0x1" description="Transmit" />
+        <Enum name="PDM2" start="0x2" description="Receive one PDM data on each serial clock edge" />
+      </BitField>
+      <BitField start="2" size="2" name="TXDEFAULT" description="Line Default Line when Slot Disabled">
+        <Enum name="ZERO" start="0x0" description="Output Default Value is 0" />
+        <Enum name="ONE" start="0x1" description="Output Default Value is 1" />
+        <Enum name="HIZ" start="0x3" description="Output Default Value is high impedance" />
+      </BitField>
+      <BitField start="4" size="1" name="TXSAME" description="Transmit Data when Underrun">
+        <Enum name="ZERO" start="0x0" description="Zero data transmitted in case of underrun" />
+        <Enum name="SAME" start="0x1" description="Last data transmitted in case of underrun" />
+      </BitField>
+      <BitField start="5" size="1" name="CLKSEL" description="Clock Unit Selection">
+        <Enum name="CLK0" start="0x0" description="Use Clock Unit 0" />
+        <Enum name="CLK1" start="0x1" description="Use Clock Unit 1" />
+      </BitField>
+      <BitField start="7" size="1" name="SLOTADJ" description="Data Slot Formatting Adjust">
+        <Enum name="RIGHT" start="0x0" description="Data is right adjusted in slot" />
+        <Enum name="LEFT" start="0x1" description="Data is left adjusted in slot" />
+      </BitField>
+      <BitField start="8" size="3" name="DATASIZE" description="Data Word Size">
+        <Enum name="32" start="0x0" description="32 bits" />
+        <Enum name="24" start="0x1" description="24 bits" />
+        <Enum name="20" start="0x2" description="20 bits" />
+        <Enum name="18" start="0x3" description="18 bits" />
+        <Enum name="16" start="0x4" description="16 bits" />
+        <Enum name="16C" start="0x5" description="16 bits compact stereo" />
+        <Enum name="8" start="0x6" description="8 bits" />
+        <Enum name="8C" start="0x7" description="8 bits compact stereo" />
+      </BitField>
+      <BitField start="12" size="1" name="WORDADJ" description="Data Word Formatting Adjust">
+        <Enum name="RIGHT" start="0x0" description="Data is right adjusted in word" />
+        <Enum name="LEFT" start="0x1" description="Data is left adjusted in word" />
+      </BitField>
+      <BitField start="13" size="2" name="EXTEND" description="Data Formatting Bit Extension">
+        <Enum name="ZERO" start="0x0" description="Extend with zeroes" />
+        <Enum name="ONE" start="0x1" description="Extend with ones" />
+        <Enum name="MSBIT" start="0x2" description="Extend with Most Significant Bit" />
+        <Enum name="LSBIT" start="0x3" description="Extend with Least Significant Bit" />
+      </BitField>
+      <BitField start="15" size="1" name="BITREV" description="Data Formatting Bit Reverse">
+        <Enum name="MSBIT" start="0x0" description="Transfer Data Most Significant Bit (MSB) first (default for I2S protocol)" />
+        <Enum name="LSBIT" start="0x1" description="Transfer Data Least Significant Bit (LSB) first" />
+      </BitField>
+      <BitField start="16" size="1" name="SLOTDIS0" description="Slot 0 Disabled for this Serializer" />
+      <BitField start="17" size="1" name="SLOTDIS1" description="Slot 1 Disabled for this Serializer" />
+      <BitField start="18" size="1" name="SLOTDIS2" description="Slot 2 Disabled for this Serializer" />
+      <BitField start="19" size="1" name="SLOTDIS3" description="Slot 3 Disabled for this Serializer" />
+      <BitField start="20" size="1" name="SLOTDIS4" description="Slot 4 Disabled for this Serializer" />
+      <BitField start="21" size="1" name="SLOTDIS5" description="Slot 5 Disabled for this Serializer" />
+      <BitField start="22" size="1" name="SLOTDIS6" description="Slot 6 Disabled for this Serializer" />
+      <BitField start="23" size="1" name="SLOTDIS7" description="Slot 7 Disabled for this Serializer" />
+      <BitField start="24" size="1" name="MONO" description="Mono Mode">
+        <Enum name="STEREO" start="0x0" description="Normal mode" />
+        <Enum name="MONO" start="0x1" description="Left channel data is duplicated to right channel" />
+      </BitField>
+      <BitField start="25" size="1" name="DMA" description="Single or Multiple DMA Channels">
+        <Enum name="SINGLE" start="0x0" description="Single DMA channel" />
+        <Enum name="MULTIPLE" start="0x1" description="One DMA channel per data channel" />
+      </BitField>
+      <BitField start="26" size="1" name="RXLOOP" description="Loop-back Test Mode" />
+    </Register>
+    <Register start="+0x20+4" size="4" name="I2S_SERCTRL1" access="Read/Write" description="Serializer n Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SERMODE" description="Serializer Mode">
+        <Enum name="RX" start="0x0" description="Receive" />
+        <Enum name="TX" start="0x1" description="Transmit" />
+        <Enum name="PDM2" start="0x2" description="Receive one PDM data on each serial clock edge" />
+      </BitField>
+      <BitField start="2" size="2" name="TXDEFAULT" description="Line Default Line when Slot Disabled">
+        <Enum name="ZERO" start="0x0" description="Output Default Value is 0" />
+        <Enum name="ONE" start="0x1" description="Output Default Value is 1" />
+        <Enum name="HIZ" start="0x3" description="Output Default Value is high impedance" />
+      </BitField>
+      <BitField start="4" size="1" name="TXSAME" description="Transmit Data when Underrun">
+        <Enum name="ZERO" start="0x0" description="Zero data transmitted in case of underrun" />
+        <Enum name="SAME" start="0x1" description="Last data transmitted in case of underrun" />
+      </BitField>
+      <BitField start="5" size="1" name="CLKSEL" description="Clock Unit Selection">
+        <Enum name="CLK0" start="0x0" description="Use Clock Unit 0" />
+        <Enum name="CLK1" start="0x1" description="Use Clock Unit 1" />
+      </BitField>
+      <BitField start="7" size="1" name="SLOTADJ" description="Data Slot Formatting Adjust">
+        <Enum name="RIGHT" start="0x0" description="Data is right adjusted in slot" />
+        <Enum name="LEFT" start="0x1" description="Data is left adjusted in slot" />
+      </BitField>
+      <BitField start="8" size="3" name="DATASIZE" description="Data Word Size">
+        <Enum name="32" start="0x0" description="32 bits" />
+        <Enum name="24" start="0x1" description="24 bits" />
+        <Enum name="20" start="0x2" description="20 bits" />
+        <Enum name="18" start="0x3" description="18 bits" />
+        <Enum name="16" start="0x4" description="16 bits" />
+        <Enum name="16C" start="0x5" description="16 bits compact stereo" />
+        <Enum name="8" start="0x6" description="8 bits" />
+        <Enum name="8C" start="0x7" description="8 bits compact stereo" />
+      </BitField>
+      <BitField start="12" size="1" name="WORDADJ" description="Data Word Formatting Adjust">
+        <Enum name="RIGHT" start="0x0" description="Data is right adjusted in word" />
+        <Enum name="LEFT" start="0x1" description="Data is left adjusted in word" />
+      </BitField>
+      <BitField start="13" size="2" name="EXTEND" description="Data Formatting Bit Extension">
+        <Enum name="ZERO" start="0x0" description="Extend with zeroes" />
+        <Enum name="ONE" start="0x1" description="Extend with ones" />
+        <Enum name="MSBIT" start="0x2" description="Extend with Most Significant Bit" />
+        <Enum name="LSBIT" start="0x3" description="Extend with Least Significant Bit" />
+      </BitField>
+      <BitField start="15" size="1" name="BITREV" description="Data Formatting Bit Reverse">
+        <Enum name="MSBIT" start="0x0" description="Transfer Data Most Significant Bit (MSB) first (default for I2S protocol)" />
+        <Enum name="LSBIT" start="0x1" description="Transfer Data Least Significant Bit (LSB) first" />
+      </BitField>
+      <BitField start="16" size="1" name="SLOTDIS0" description="Slot 0 Disabled for this Serializer" />
+      <BitField start="17" size="1" name="SLOTDIS1" description="Slot 1 Disabled for this Serializer" />
+      <BitField start="18" size="1" name="SLOTDIS2" description="Slot 2 Disabled for this Serializer" />
+      <BitField start="19" size="1" name="SLOTDIS3" description="Slot 3 Disabled for this Serializer" />
+      <BitField start="20" size="1" name="SLOTDIS4" description="Slot 4 Disabled for this Serializer" />
+      <BitField start="21" size="1" name="SLOTDIS5" description="Slot 5 Disabled for this Serializer" />
+      <BitField start="22" size="1" name="SLOTDIS6" description="Slot 6 Disabled for this Serializer" />
+      <BitField start="23" size="1" name="SLOTDIS7" description="Slot 7 Disabled for this Serializer" />
+      <BitField start="24" size="1" name="MONO" description="Mono Mode">
+        <Enum name="STEREO" start="0x0" description="Normal mode" />
+        <Enum name="MONO" start="0x1" description="Left channel data is duplicated to right channel" />
+      </BitField>
+      <BitField start="25" size="1" name="DMA" description="Single or Multiple DMA Channels">
+        <Enum name="SINGLE" start="0x0" description="Single DMA channel" />
+        <Enum name="MULTIPLE" start="0x1" description="One DMA channel per data channel" />
+      </BitField>
+      <BitField start="26" size="1" name="RXLOOP" description="Loop-back Test Mode" />
+    </Register>
+    <Register start="+0x18" size="2" name="I2S_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Status" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Synchronization Status" />
+      <BitField start="2" size="1" name="CKEN0" description="Clock Unit 0 Enable Synchronization Status" />
+      <BitField start="3" size="1" name="CKEN1" description="Clock Unit 1 Enable Synchronization Status" />
+      <BitField start="4" size="1" name="SEREN0" description="Serializer 0 Enable Synchronization Status" />
+      <BitField start="5" size="1" name="SEREN1" description="Serializer 1 Enable Synchronization Status" />
+      <BitField start="8" size="1" name="DATA0" description="Data 0 Synchronization Status" />
+      <BitField start="9" size="1" name="DATA1" description="Data 1 Synchronization Status" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="MTB" start="0x41006000" description="Cortex-M0+ Micro-Trace Buffer">
+    <Register start="+0xFB8" size="4" name="MTB_AUTHSTATUS" access="ReadOnly" description="MTB Authentication Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x00C" size="4" name="MTB_BASE" access="ReadOnly" description="MTB Base" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFF0" size="4" name="MTB_CID0" access="ReadOnly" description="CoreSight" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFF4" size="4" name="MTB_CID1" access="ReadOnly" description="CoreSight" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFF8" size="4" name="MTB_CID2" access="ReadOnly" description="CoreSight" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFFC" size="4" name="MTB_CID3" access="ReadOnly" description="CoreSight" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFA4" size="4" name="MTB_CLAIMCLR" access="Read/Write" description="MTB Claim Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFA0" size="4" name="MTB_CLAIMSET" access="Read/Write" description="MTB Claim Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFBC" size="4" name="MTB_DEVARCH" access="ReadOnly" description="MTB Device Architecture" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFC8" size="4" name="MTB_DEVID" access="ReadOnly" description="MTB Device Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFCC" size="4" name="MTB_DEVTYPE" access="ReadOnly" description="MTB Device Type" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x008" size="4" name="MTB_FLOW" access="Read/Write" description="MTB Flow" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="AUTOSTOP" description="Auto Stop Tracing" />
+      <BitField start="1" size="1" name="AUTOHALT" description="Auto Halt Request" />
+      <BitField start="3" size="29" name="WATERMARK" description="Watermark value" />
+    </Register>
+    <Register start="+0xF00" size="4" name="MTB_ITCTRL" access="Read/Write" description="MTB Integration Mode Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFB0" size="4" name="MTB_LOCKACCESS" access="Read/Write" description="MTB Lock Access" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFB4" size="4" name="MTB_LOCKSTATUS" access="ReadOnly" description="MTB Lock Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x004" size="4" name="MTB_MASTER" access="Read/Write" description="MTB Master" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="MASK" description="Maximum Value of the Trace Buffer in SRAM" />
+      <BitField start="5" size="1" name="TSTARTEN" description="Trace Start Input Enable" />
+      <BitField start="6" size="1" name="TSTOPEN" description="Trace Stop Input Enable" />
+      <BitField start="7" size="1" name="SFRWPRIV" description="Special Function Register Write Privilege" />
+      <BitField start="8" size="1" name="RAMPRIV" description="SRAM Privilege" />
+      <BitField start="9" size="1" name="HALTREQ" description="Halt Request" />
+      <BitField start="31" size="1" name="EN" description="Main Trace Enable" />
+    </Register>
+    <Register start="+0xFE0" size="4" name="MTB_PID0" access="ReadOnly" description="CoreSight" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFE4" size="4" name="MTB_PID1" access="ReadOnly" description="CoreSight" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFE8" size="4" name="MTB_PID2" access="ReadOnly" description="CoreSight" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFEC" size="4" name="MTB_PID3" access="ReadOnly" description="CoreSight" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFD0" size="4" name="MTB_PID4" access="ReadOnly" description="CoreSight" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFD4" size="4" name="MTB_PID5" access="ReadOnly" description="CoreSight" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFD8" size="4" name="MTB_PID6" access="ReadOnly" description="CoreSight" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0xFDC" size="4" name="MTB_PID7" access="ReadOnly" description="CoreSight" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x000" size="4" name="MTB_POSITION" access="Read/Write" description="MTB Position" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="WRAP" description="Pointer Value Wraps" />
+      <BitField start="3" size="29" name="POINTER" description="Trace Packet Location Pointer" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="NVMCTRL" start="0x41004000" description="Non-Volatile Memory Controller">
+    <Register start="+0x1C" size="4" name="NVMCTRL_ADDR" access="Read/Write" description="Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="22" name="ADDR" description="NVM Address" />
+    </Register>
+    <Register start="+0x00" size="2" name="NVMCTRL_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="CMD" description="Command">
+        <Enum name="ER" start="0x2" description="Erase Row - Erases the row addressed by the ADDR register." />
+        <Enum name="WP" start="0x4" description="Write Page - Writes the contents of the page buffer to the page addressed by the ADDR register." />
+        <Enum name="EAR" start="0x5" description="Erase Auxiliary Row - Erases the auxiliary row addressed by the ADDR register. This command can be given only when the security bit is not set and only to the user configuration row." />
+        <Enum name="WAP" start="0x6" description="Write Auxiliary Page - Writes the contents of the page buffer to the page addressed by the ADDR register. This command can be given only when the security bit is not set and only to the user configuration row." />
+        <Enum name="SF" start="0xa" description="Security Flow Command" />
+        <Enum name="WL" start="0xf" description="Write lockbits" />
+        <Enum name="LR" start="0x40" description="Lock Region - Locks the region containing the address location in the ADDR register." />
+        <Enum name="UR" start="0x41" description="Unlock Region - Unlocks the region containing the address location in the ADDR register." />
+        <Enum name="SPRM" start="0x42" description="Sets the power reduction mode." />
+        <Enum name="CPRM" start="0x43" description="Clears the power reduction mode." />
+        <Enum name="PBC" start="0x44" description="Page Buffer Clear - Clears the page buffer." />
+        <Enum name="SSB" start="0x45" description="Set Security Bit - Sets the security bit by writing 0x00 to the first byte in the lockbit row." />
+        <Enum name="INVALL" start="0x46" description="Invalidates all cache lines." />
+      </BitField>
+      <BitField start="8" size="8" name="CMDEX" description="Command Execution">
+        <Enum name="KEY" start="0xa5" description="Execution Key" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="4" name="NVMCTRL_CTRLB" access="Read/Write" description="Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="4" name="RWS" description="NVM Read Wait States">
+        <Enum name="SINGLE" start="0x0" description="Single Auto Wait State" />
+        <Enum name="HALF" start="0x1" description="Half Auto Wait State" />
+        <Enum name="DUAL" start="0x2" description="Dual Auto Wait State" />
+      </BitField>
+      <BitField start="7" size="1" name="MANW" description="Manual Write" />
+      <BitField start="8" size="2" name="SLEEPPRM" description="Power Reduction Mode during Sleep">
+        <Enum name="WAKEONACCESS" start="0x0" description="NVM block enters low-power mode when entering sleep.NVM block exits low-power mode upon first access." />
+        <Enum name="WAKEUPINSTANT" start="0x1" description="NVM block enters low-power mode when entering sleep.NVM block exits low-power mode when exiting sleep." />
+        <Enum name="DISABLED" start="0x3" description="Auto power reduction disabled." />
+      </BitField>
+      <BitField start="16" size="2" name="READMODE" description="NVMCTRL Read Mode">
+        <Enum name="NO_MISS_PENALTY" start="0x0" description="The NVM Controller (cache system) does not insert wait states on a cache miss. Gives the best system performance." />
+        <Enum name="LOW_POWER" start="0x1" description="Reduces power consumption of the cache system, but inserts a wait state each time there is a cache miss. This mode may not be relevant if CPU performance is required, as the application will be stalled and may lead to increase run time." />
+        <Enum name="DETERMINISTIC" start="0x2" description="The cache system ensures that a cache hit or miss takes the same amount of time, determined by the number of programmed flash wait states. This mode can be used for real-time applications that require deterministic execution timings." />
+      </BitField>
+      <BitField start="18" size="1" name="CACHEDIS" description="Cache Disable" />
+    </Register>
+    <Register start="+0x0C" size="1" name="NVMCTRL_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="READY" description="NVM Ready Interrupt Enable" />
+      <BitField start="1" size="1" name="ERROR" description="Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x10" size="1" name="NVMCTRL_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="READY" description="NVM Ready Interrupt Enable" />
+      <BitField start="1" size="1" name="ERROR" description="Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x14" size="1" name="NVMCTRL_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="READY" description="NVM Ready" />
+      <BitField start="1" size="1" name="ERROR" description="Error" />
+    </Register>
+    <Register start="+0x20" size="2" name="NVMCTRL_LOCK" access="Read/Write" description="Lock Section" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="LOCK" description="Region Lock Bits" />
+    </Register>
+    <Register start="+0x08" size="4" name="NVMCTRL_PARAM" access="Read/Write" description="NVM Parameter" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="NVMP" description="NVM Pages" />
+      <BitField start="16" size="3" name="PSZ" description="Page Size">
+        <Enum name="8" start="0x0" description="8 bytes" />
+        <Enum name="16" start="0x1" description="16 bytes" />
+        <Enum name="32" start="0x2" description="32 bytes" />
+        <Enum name="64" start="0x3" description="64 bytes" />
+        <Enum name="128" start="0x4" description="128 bytes" />
+        <Enum name="256" start="0x5" description="256 bytes" />
+        <Enum name="512" start="0x6" description="512 bytes" />
+        <Enum name="1024" start="0x7" description="1024 bytes" />
+      </BitField>
+    </Register>
+    <Register start="+0x18" size="2" name="NVMCTRL_STATUS" access="Read/Write" description="Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PRM" description="Power Reduction Mode" />
+      <BitField start="1" size="1" name="LOAD" description="NVM Page Buffer Active Loading" />
+      <BitField start="2" size="1" name="PROGE" description="Programming Error Status" />
+      <BitField start="3" size="1" name="LOCKE" description="Lock Error Status" />
+      <BitField start="4" size="1" name="NVME" description="NVM Error" />
+      <BitField start="8" size="1" name="SB" description="Security Bit Status" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="PAC0" start="0x40000000" description="Peripheral Access Controller 0">
+    <Register start="+0x0" size="4" name="PAC_WPCLR" access="Read/Write" description="Write Protection Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="31" name="WP" description="Write Protection Clear" />
+    </Register>
+    <Register start="+0x4" size="4" name="PAC_WPSET" access="Read/Write" description="Write Protection Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="31" name="WP" description="Write Protection Set" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="PAC1" start="0x41000000" description="Peripheral Access Controller 1">
+    <Register start="+0x0" size="4" name="PAC_WPCLR" access="Read/Write" description="Write Protection Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="31" name="WP" description="Write Protection Clear" />
+    </Register>
+    <Register start="+0x4" size="4" name="PAC_WPSET" access="Read/Write" description="Write Protection Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="31" name="WP" description="Write Protection Set" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="PAC2" start="0x42000000" description="Peripheral Access Controller 2">
+    <Register start="+0x0" size="4" name="PAC_WPCLR" access="Read/Write" description="Write Protection Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="31" name="WP" description="Write Protection Clear" />
+    </Register>
+    <Register start="+0x4" size="4" name="PAC_WPSET" access="Read/Write" description="Write Protection Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="31" name="WP" description="Write Protection Set" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="PM" start="0x40000400" description="Power Manager">
+    <Register start="+0x14" size="4" name="PM_AHBMASK" access="Read/Write" description="AHB Mask" reset_value="0x0000007F" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="HPB0_" description="HPB0 AHB Clock Mask" />
+      <BitField start="1" size="1" name="HPB1_" description="HPB1 AHB Clock Mask" />
+      <BitField start="2" size="1" name="HPB2_" description="HPB2 AHB Clock Mask" />
+      <BitField start="3" size="1" name="DSU_" description="DSU AHB Clock Mask" />
+      <BitField start="4" size="1" name="NVMCTRL_" description="NVMCTRL AHB Clock Mask" />
+      <BitField start="5" size="1" name="DMAC_" description="DMAC AHB Clock Mask" />
+      <BitField start="6" size="1" name="USB_" description="USB AHB Clock Mask" />
+    </Register>
+    <Register start="+0x18" size="4" name="PM_APBAMASK" access="Read/Write" description="APBA Mask" reset_value="0x0000007F" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PAC0_" description="PAC0 APB Clock Enable" />
+      <BitField start="1" size="1" name="PM_" description="PM APB Clock Enable" />
+      <BitField start="2" size="1" name="SYSCTRL_" description="SYSCTRL APB Clock Enable" />
+      <BitField start="3" size="1" name="GCLK_" description="GCLK APB Clock Enable" />
+      <BitField start="4" size="1" name="WDT_" description="WDT APB Clock Enable" />
+      <BitField start="5" size="1" name="RTC_" description="RTC APB Clock Enable" />
+      <BitField start="6" size="1" name="EIC_" description="EIC APB Clock Enable" />
+    </Register>
+    <Register start="+0x09" size="1" name="PM_APBASEL" access="Read/Write" description="APBA Clock Select" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="APBADIV" description="APBA Prescaler Selection">
+        <Enum name="DIV1" start="0x0" description="Divide by 1" />
+        <Enum name="DIV2" start="0x1" description="Divide by 2" />
+        <Enum name="DIV4" start="0x2" description="Divide by 4" />
+        <Enum name="DIV8" start="0x3" description="Divide by 8" />
+        <Enum name="DIV16" start="0x4" description="Divide by 16" />
+        <Enum name="DIV32" start="0x5" description="Divide by 32" />
+        <Enum name="DIV64" start="0x6" description="Divide by 64" />
+        <Enum name="DIV128" start="0x7" description="Divide by 128" />
+      </BitField>
+    </Register>
+    <Register start="+0x1C" size="4" name="PM_APBBMASK" access="Read/Write" description="APBB Mask" reset_value="0x0000007F" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PAC1_" description="PAC1 APB Clock Enable" />
+      <BitField start="1" size="1" name="DSU_" description="DSU APB Clock Enable" />
+      <BitField start="2" size="1" name="NVMCTRL_" description="NVMCTRL APB Clock Enable" />
+      <BitField start="3" size="1" name="PORT_" description="PORT APB Clock Enable" />
+      <BitField start="4" size="1" name="DMAC_" description="DMAC APB Clock Enable" />
+      <BitField start="5" size="1" name="USB_" description="USB APB Clock Enable" />
+      <BitField start="6" size="1" name="HMATRIX_" description="HMATRIX APB Clock Enable" />
+    </Register>
+    <Register start="+0x0A" size="1" name="PM_APBBSEL" access="Read/Write" description="APBB Clock Select" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="APBBDIV" description="APBB Prescaler Selection">
+        <Enum name="DIV1" start="0x0" description="Divide by 1" />
+        <Enum name="DIV2" start="0x1" description="Divide by 2" />
+        <Enum name="DIV4" start="0x2" description="Divide by 4" />
+        <Enum name="DIV8" start="0x3" description="Divide by 8" />
+        <Enum name="DIV16" start="0x4" description="Divide by 16" />
+        <Enum name="DIV32" start="0x5" description="Divide by 32" />
+        <Enum name="DIV64" start="0x6" description="Divide by 64" />
+        <Enum name="DIV128" start="0x7" description="Divide by 128" />
+      </BitField>
+    </Register>
+    <Register start="+0x20" size="4" name="PM_APBCMASK" access="Read/Write" description="APBC Mask" reset_value="0x00010000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PAC2_" description="PAC2 APB Clock Enable" />
+      <BitField start="1" size="1" name="EVSYS_" description="EVSYS APB Clock Enable" />
+      <BitField start="2" size="1" name="SERCOM0_" description="SERCOM0 APB Clock Enable" />
+      <BitField start="3" size="1" name="SERCOM1_" description="SERCOM1 APB Clock Enable" />
+      <BitField start="4" size="1" name="SERCOM2_" description="SERCOM2 APB Clock Enable" />
+      <BitField start="5" size="1" name="SERCOM3_" description="SERCOM3 APB Clock Enable" />
+      <BitField start="6" size="1" name="SERCOM4_" description="SERCOM4 APB Clock Enable" />
+      <BitField start="7" size="1" name="SERCOM5_" description="SERCOM5 APB Clock Enable" />
+      <BitField start="8" size="1" name="TCC0_" description="TCC0 APB Clock Enable" />
+      <BitField start="9" size="1" name="TCC1_" description="TCC1 APB Clock Enable" />
+      <BitField start="10" size="1" name="TCC2_" description="TCC2 APB Clock Enable" />
+      <BitField start="11" size="1" name="TC3_" description="TC3 APB Clock Enable" />
+      <BitField start="12" size="1" name="TC4_" description="TC4 APB Clock Enable" />
+      <BitField start="13" size="1" name="TC5_" description="TC5 APB Clock Enable" />
+      <BitField start="16" size="1" name="ADC_" description="ADC APB Clock Enable" />
+      <BitField start="17" size="1" name="AC_" description="AC APB Clock Enable" />
+      <BitField start="18" size="1" name="DAC_" description="DAC APB Clock Enable" />
+      <BitField start="19" size="1" name="PTC_" description="PTC APB Clock Enable" />
+      <BitField start="20" size="1" name="I2S_" description="I2S APB Clock Enable" />
+    </Register>
+    <Register start="+0x0B" size="1" name="PM_APBCSEL" access="Read/Write" description="APBC Clock Select" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="APBCDIV" description="APBC Prescaler Selection">
+        <Enum name="DIV1" start="0x0" description="Divide by 1" />
+        <Enum name="DIV2" start="0x1" description="Divide by 2" />
+        <Enum name="DIV4" start="0x2" description="Divide by 4" />
+        <Enum name="DIV8" start="0x3" description="Divide by 8" />
+        <Enum name="DIV16" start="0x4" description="Divide by 16" />
+        <Enum name="DIV32" start="0x5" description="Divide by 32" />
+        <Enum name="DIV64" start="0x6" description="Divide by 64" />
+        <Enum name="DIV128" start="0x7" description="Divide by 128" />
+      </BitField>
+    </Register>
+    <Register start="+0x08" size="1" name="PM_CPUSEL" access="Read/Write" description="CPU Clock Select" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CPUDIV" description="CPU Prescaler Selection">
+        <Enum name="DIV1" start="0x0" description="Divide by 1" />
+        <Enum name="DIV2" start="0x1" description="Divide by 2" />
+        <Enum name="DIV4" start="0x2" description="Divide by 4" />
+        <Enum name="DIV8" start="0x3" description="Divide by 8" />
+        <Enum name="DIV16" start="0x4" description="Divide by 16" />
+        <Enum name="DIV32" start="0x5" description="Divide by 32" />
+        <Enum name="DIV64" start="0x6" description="Divide by 64" />
+        <Enum name="DIV128" start="0x7" description="Divide by 128" />
+      </BitField>
+    </Register>
+    <Register start="+0x00" size="1" name="PM_CTRL" access="Read/Write" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x34" size="1" name="PM_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CKRDY" description="Clock Ready Interrupt Enable" />
+    </Register>
+    <Register start="+0x35" size="1" name="PM_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CKRDY" description="Clock Ready Interrupt Enable" />
+    </Register>
+    <Register start="+0x36" size="1" name="PM_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CKRDY" description="Clock Ready" />
+    </Register>
+    <Register start="+0x38" size="1" name="PM_RCAUSE" access="ReadOnly" description="Reset Cause" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="POR" description="Power On Reset" />
+      <BitField start="1" size="1" name="BOD12" description="Brown Out 12 Detector Reset" />
+      <BitField start="2" size="1" name="BOD33" description="Brown Out 33 Detector Reset" />
+      <BitField start="4" size="1" name="EXT" description="External Reset" />
+      <BitField start="5" size="1" name="WDT" description="Watchdog Reset" />
+      <BitField start="6" size="1" name="SYST" description="System Reset Request" />
+    </Register>
+    <Register start="+0x01" size="1" name="PM_SLEEP" access="Read/Write" description="Sleep Mode" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="IDLE" description="Idle Mode Configuration">
+        <Enum name="CPU" start="0x0" description="The CPU clock domain is stopped" />
+        <Enum name="AHB" start="0x1" description="The CPU and AHB clock domains are stopped" />
+        <Enum name="APB" start="0x2" description="The CPU, AHB and APB clock domains are stopped" />
+      </BitField>
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="PORT" start="0x41004400" description="Port Module">
+    <Register start="+0x24+0" size="4" name="PORT_CTRL0" access="Read/Write" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SAMPLING" description="Input Sampling Mode" />
+    </Register>
+    <Register start="+0x24+128" size="4" name="PORT_CTRL1" access="Read/Write" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SAMPLING" description="Input Sampling Mode" />
+    </Register>
+    <Register start="+0x00+0" size="4" name="PORT_DIR0" access="Read/Write" description="Data Direction" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DIR" description="Port Data Direction" />
+    </Register>
+    <Register start="+0x00+128" size="4" name="PORT_DIR1" access="Read/Write" description="Data Direction" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DIR" description="Port Data Direction" />
+    </Register>
+    <Register start="+0x04+0" size="4" name="PORT_DIRCLR0" access="Read/Write" description="Data Direction Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DIRCLR" description="Port Data Direction Clear" />
+    </Register>
+    <Register start="+0x04+128" size="4" name="PORT_DIRCLR1" access="Read/Write" description="Data Direction Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DIRCLR" description="Port Data Direction Clear" />
+    </Register>
+    <Register start="+0x08+0" size="4" name="PORT_DIRSET0" access="Read/Write" description="Data Direction Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DIRSET" description="Port Data Direction Set" />
+    </Register>
+    <Register start="+0x08+128" size="4" name="PORT_DIRSET1" access="Read/Write" description="Data Direction Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DIRSET" description="Port Data Direction Set" />
+    </Register>
+    <Register start="+0x0C+0" size="4" name="PORT_DIRTGL0" access="Read/Write" description="Data Direction Toggle" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DIRTGL" description="Port Data Direction Toggle" />
+    </Register>
+    <Register start="+0x0C+128" size="4" name="PORT_DIRTGL1" access="Read/Write" description="Data Direction Toggle" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DIRTGL" description="Port Data Direction Toggle" />
+    </Register>
+    <Register start="+0x20+0" size="4" name="PORT_IN0" access="ReadOnly" description="Data Input Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="IN" description="Port Data Input Value" />
+    </Register>
+    <Register start="+0x20+128" size="4" name="PORT_IN1" access="ReadOnly" description="Data Input Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="IN" description="Port Data Input Value" />
+    </Register>
+    <Register start="+0x10+0" size="4" name="PORT_OUT0" access="Read/Write" description="Data Output Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="OUT" description="Port Data Output Value" />
+    </Register>
+    <Register start="+0x10+128" size="4" name="PORT_OUT1" access="Read/Write" description="Data Output Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="OUT" description="Port Data Output Value" />
+    </Register>
+    <Register start="+0x14+0" size="4" name="PORT_OUTCLR0" access="Read/Write" description="Data Output Value Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="OUTCLR" description="Port Data Output Value Clear" />
+    </Register>
+    <Register start="+0x14+128" size="4" name="PORT_OUTCLR1" access="Read/Write" description="Data Output Value Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="OUTCLR" description="Port Data Output Value Clear" />
+    </Register>
+    <Register start="+0x18+0" size="4" name="PORT_OUTSET0" access="Read/Write" description="Data Output Value Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="OUTSET" description="Port Data Output Value Set" />
+    </Register>
+    <Register start="+0x18+128" size="4" name="PORT_OUTSET1" access="Read/Write" description="Data Output Value Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="OUTSET" description="Port Data Output Value Set" />
+    </Register>
+    <Register start="+0x1C+0" size="4" name="PORT_OUTTGL0" access="Read/Write" description="Data Output Value Toggle" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="OUTTGL" description="Port Data Output Value Toggle" />
+    </Register>
+    <Register start="+0x1C+128" size="4" name="PORT_OUTTGL1" access="Read/Write" description="Data Output Value Toggle" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="OUTTGL" description="Port Data Output Value Toggle" />
+    </Register>
+    <Register start="+0x40+0" size="1" name="PORT_PINCFG0_0" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+1" size="1" name="PORT_PINCFG0_1" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+2" size="1" name="PORT_PINCFG0_2" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+3" size="1" name="PORT_PINCFG0_3" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+4" size="1" name="PORT_PINCFG0_4" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+5" size="1" name="PORT_PINCFG0_5" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+6" size="1" name="PORT_PINCFG0_6" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+7" size="1" name="PORT_PINCFG0_7" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+8" size="1" name="PORT_PINCFG0_8" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+9" size="1" name="PORT_PINCFG0_9" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+10" size="1" name="PORT_PINCFG0_10" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+11" size="1" name="PORT_PINCFG0_11" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+12" size="1" name="PORT_PINCFG0_12" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+13" size="1" name="PORT_PINCFG0_13" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+14" size="1" name="PORT_PINCFG0_14" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+15" size="1" name="PORT_PINCFG0_15" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+16" size="1" name="PORT_PINCFG0_16" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+17" size="1" name="PORT_PINCFG0_17" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+18" size="1" name="PORT_PINCFG0_18" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+19" size="1" name="PORT_PINCFG0_19" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+20" size="1" name="PORT_PINCFG0_20" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+21" size="1" name="PORT_PINCFG0_21" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+22" size="1" name="PORT_PINCFG0_22" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+23" size="1" name="PORT_PINCFG0_23" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+24" size="1" name="PORT_PINCFG0_24" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+25" size="1" name="PORT_PINCFG0_25" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+26" size="1" name="PORT_PINCFG0_26" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+27" size="1" name="PORT_PINCFG0_27" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+28" size="1" name="PORT_PINCFG0_28" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+29" size="1" name="PORT_PINCFG0_29" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+30" size="1" name="PORT_PINCFG0_30" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+31" size="1" name="PORT_PINCFG0_31" access="Read/Write" description="Pin Configuration n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+0" size="1" name="PORT_PINCFG1_0" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+1" size="1" name="PORT_PINCFG1_1" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+2" size="1" name="PORT_PINCFG1_2" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+3" size="1" name="PORT_PINCFG1_3" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+4" size="1" name="PORT_PINCFG1_4" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+5" size="1" name="PORT_PINCFG1_5" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+6" size="1" name="PORT_PINCFG1_6" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+7" size="1" name="PORT_PINCFG1_7" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+8" size="1" name="PORT_PINCFG1_8" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+9" size="1" name="PORT_PINCFG1_9" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+10" size="1" name="PORT_PINCFG1_10" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+11" size="1" name="PORT_PINCFG1_11" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+12" size="1" name="PORT_PINCFG1_12" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+13" size="1" name="PORT_PINCFG1_13" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+14" size="1" name="PORT_PINCFG1_14" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+15" size="1" name="PORT_PINCFG1_15" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+16" size="1" name="PORT_PINCFG1_16" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+17" size="1" name="PORT_PINCFG1_17" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+18" size="1" name="PORT_PINCFG1_18" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+19" size="1" name="PORT_PINCFG1_19" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+20" size="1" name="PORT_PINCFG1_20" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+21" size="1" name="PORT_PINCFG1_21" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+22" size="1" name="PORT_PINCFG1_22" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+23" size="1" name="PORT_PINCFG1_23" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+24" size="1" name="PORT_PINCFG1_24" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+25" size="1" name="PORT_PINCFG1_25" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+26" size="1" name="PORT_PINCFG1_26" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+27" size="1" name="PORT_PINCFG1_27" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+28" size="1" name="PORT_PINCFG1_28" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+29" size="1" name="PORT_PINCFG1_29" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+30" size="1" name="PORT_PINCFG1_30" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+31" size="1" name="PORT_PINCFG1_31" access="Read/Write" description="Pin Configuration n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x30+0" size="1" name="PORT_PMUX0_0" access="Read/Write" description="Peripheral Multiplexing n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x30+1" size="1" name="PORT_PMUX0_1" access="Read/Write" description="Peripheral Multiplexing n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x30+2" size="1" name="PORT_PMUX0_2" access="Read/Write" description="Peripheral Multiplexing n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x30+3" size="1" name="PORT_PMUX0_3" access="Read/Write" description="Peripheral Multiplexing n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x30+4" size="1" name="PORT_PMUX0_4" access="Read/Write" description="Peripheral Multiplexing n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x30+5" size="1" name="PORT_PMUX0_5" access="Read/Write" description="Peripheral Multiplexing n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x30+6" size="1" name="PORT_PMUX0_6" access="Read/Write" description="Peripheral Multiplexing n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x30+7" size="1" name="PORT_PMUX0_7" access="Read/Write" description="Peripheral Multiplexing n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x30+8" size="1" name="PORT_PMUX0_8" access="Read/Write" description="Peripheral Multiplexing n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x30+9" size="1" name="PORT_PMUX0_9" access="Read/Write" description="Peripheral Multiplexing n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x30+10" size="1" name="PORT_PMUX0_10" access="Read/Write" description="Peripheral Multiplexing n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x30+11" size="1" name="PORT_PMUX0_11" access="Read/Write" description="Peripheral Multiplexing n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x30+12" size="1" name="PORT_PMUX0_12" access="Read/Write" description="Peripheral Multiplexing n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x30+13" size="1" name="PORT_PMUX0_13" access="Read/Write" description="Peripheral Multiplexing n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x30+14" size="1" name="PORT_PMUX0_14" access="Read/Write" description="Peripheral Multiplexing n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x30+15" size="1" name="PORT_PMUX0_15" access="Read/Write" description="Peripheral Multiplexing n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0xb0+0" size="1" name="PORT_PMUX1_0" access="Read/Write" description="Peripheral Multiplexing n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0xb0+1" size="1" name="PORT_PMUX1_1" access="Read/Write" description="Peripheral Multiplexing n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0xb0+2" size="1" name="PORT_PMUX1_2" access="Read/Write" description="Peripheral Multiplexing n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0xb0+3" size="1" name="PORT_PMUX1_3" access="Read/Write" description="Peripheral Multiplexing n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0xb0+4" size="1" name="PORT_PMUX1_4" access="Read/Write" description="Peripheral Multiplexing n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0xb0+5" size="1" name="PORT_PMUX1_5" access="Read/Write" description="Peripheral Multiplexing n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0xb0+6" size="1" name="PORT_PMUX1_6" access="Read/Write" description="Peripheral Multiplexing n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0xb0+7" size="1" name="PORT_PMUX1_7" access="Read/Write" description="Peripheral Multiplexing n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0xb0+8" size="1" name="PORT_PMUX1_8" access="Read/Write" description="Peripheral Multiplexing n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0xb0+9" size="1" name="PORT_PMUX1_9" access="Read/Write" description="Peripheral Multiplexing n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0xb0+10" size="1" name="PORT_PMUX1_10" access="Read/Write" description="Peripheral Multiplexing n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0xb0+11" size="1" name="PORT_PMUX1_11" access="Read/Write" description="Peripheral Multiplexing n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0xb0+12" size="1" name="PORT_PMUX1_12" access="Read/Write" description="Peripheral Multiplexing n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0xb0+13" size="1" name="PORT_PMUX1_13" access="Read/Write" description="Peripheral Multiplexing n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0xb0+14" size="1" name="PORT_PMUX1_14" access="Read/Write" description="Peripheral Multiplexing n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0xb0+15" size="1" name="PORT_PMUX1_15" access="Read/Write" description="Peripheral Multiplexing n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing Even">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing Odd">
+        <Enum name="A" start="0x0" description="Peripheral function A selected" />
+        <Enum name="B" start="0x1" description="Peripheral function B selected" />
+        <Enum name="C" start="0x2" description="Peripheral function C selected" />
+        <Enum name="D" start="0x3" description="Peripheral function D selected" />
+        <Enum name="E" start="0x4" description="Peripheral function E selected" />
+        <Enum name="F" start="0x5" description="Peripheral function F selected" />
+        <Enum name="G" start="0x6" description="Peripheral function G selected" />
+        <Enum name="H" start="0x7" description="Peripheral function H selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x28+0" size="4" name="PORT_WRCONFIG0" access="WriteOnly" description="Write Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="PINMASK" description="Pin Mask for Multiple Pin Configuration" />
+      <BitField start="16" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="17" size="1" name="INEN" description="Input Enable" />
+      <BitField start="18" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="22" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+      <BitField start="24" size="4" name="PMUX" description="Peripheral Multiplexing" />
+      <BitField start="28" size="1" name="WRPMUX" description="Write PMUX" />
+      <BitField start="30" size="1" name="WRPINCFG" description="Write PINCFG" />
+      <BitField start="31" size="1" name="HWSEL" description="Half-Word Select" />
+    </Register>
+    <Register start="+0x28+128" size="4" name="PORT_WRCONFIG1" access="WriteOnly" description="Write Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="PINMASK" description="Pin Mask for Multiple Pin Configuration" />
+      <BitField start="16" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="17" size="1" name="INEN" description="Input Enable" />
+      <BitField start="18" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="22" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+      <BitField start="24" size="4" name="PMUX" description="Peripheral Multiplexing" />
+      <BitField start="28" size="1" name="WRPMUX" description="Write PMUX" />
+      <BitField start="30" size="1" name="WRPINCFG" description="Write PINCFG" />
+      <BitField start="31" size="1" name="HWSEL" description="Half-Word Select" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="RTC (MODE0)" start="0x40001400" description="Real-Time Counter">
+    <Register start="+0x18+0" size="4" name="RTC_COMP0" access="Read/Write" description="MODE0 Compare n Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="COMP" description="Compare Value" />
+    </Register>
+    <Register start="+0x10" size="4" name="RTC_COUNT" access="Read/Write" description="MODE0 Counter Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x00" size="2" name="RTC_CTRL" access="Read/Write" description="MODE0 Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Operating Mode">
+        <Enum name="COUNT32" start="0x0" description="Mode 0: 32-bit Counter" />
+        <Enum name="COUNT16" start="0x1" description="Mode 1: 16-bit Counter" />
+        <Enum name="CLOCK" start="0x2" description="Mode 2: Clock/Calendar" />
+      </BitField>
+      <BitField start="7" size="1" name="MATCHCLR" description="Clear on Match" />
+      <BitField start="8" size="4" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="CLK_RTC_CNT = GCLK_RTC/1" />
+        <Enum name="DIV2" start="0x1" description="CLK_RTC_CNT = GCLK_RTC/2" />
+        <Enum name="DIV4" start="0x2" description="CLK_RTC_CNT = GCLK_RTC/4" />
+        <Enum name="DIV8" start="0x3" description="CLK_RTC_CNT = GCLK_RTC/8" />
+        <Enum name="DIV16" start="0x4" description="CLK_RTC_CNT = GCLK_RTC/16" />
+        <Enum name="DIV32" start="0x5" description="CLK_RTC_CNT = GCLK_RTC/32" />
+        <Enum name="DIV64" start="0x6" description="CLK_RTC_CNT = GCLK_RTC/64" />
+        <Enum name="DIV128" start="0x7" description="CLK_RTC_CNT = GCLK_RTC/128" />
+        <Enum name="DIV256" start="0x8" description="CLK_RTC_CNT = GCLK_RTC/256" />
+        <Enum name="DIV512" start="0x9" description="CLK_RTC_CNT = GCLK_RTC/512" />
+        <Enum name="DIV1024" start="0xa" description="CLK_RTC_CNT = GCLK_RTC/1024" />
+      </BitField>
+    </Register>
+    <Register start="+0x0B" size="1" name="RTC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x04" size="2" name="RTC_EVCTRL" access="Read/Write" description="MODE0 Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEREO0" description="Periodic Interval 0 Event Output Enable" />
+      <BitField start="1" size="1" name="PEREO1" description="Periodic Interval 1 Event Output Enable" />
+      <BitField start="2" size="1" name="PEREO2" description="Periodic Interval 2 Event Output Enable" />
+      <BitField start="3" size="1" name="PEREO3" description="Periodic Interval 3 Event Output Enable" />
+      <BitField start="4" size="1" name="PEREO4" description="Periodic Interval 4 Event Output Enable" />
+      <BitField start="5" size="1" name="PEREO5" description="Periodic Interval 5 Event Output Enable" />
+      <BitField start="6" size="1" name="PEREO6" description="Periodic Interval 6 Event Output Enable" />
+      <BitField start="7" size="1" name="PEREO7" description="Periodic Interval 7 Event Output Enable" />
+      <BitField start="8" size="1" name="CMPEO0" description="Compare 0 Event Output Enable" />
+      <BitField start="15" size="1" name="OVFEO" description="Overflow Event Output Enable" />
+    </Register>
+    <Register start="+0x0C" size="1" name="RTC_FREQCORR" access="Read/Write" description="Frequency Correction" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="VALUE" description="Correction Value" />
+      <BitField start="7" size="1" name="SIGN" description="Correction Sign" />
+    </Register>
+    <Register start="+0x06" size="1" name="RTC_INTENCLR" access="Read/Write" description="MODE0 Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMP0" description="Compare 0 Interrupt Enable" />
+      <BitField start="6" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="7" size="1" name="OVF" description="Overflow Interrupt Enable" />
+    </Register>
+    <Register start="+0x07" size="1" name="RTC_INTENSET" access="Read/Write" description="MODE0 Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMP0" description="Compare 0 Interrupt Enable" />
+      <BitField start="6" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="7" size="1" name="OVF" description="Overflow Interrupt Enable" />
+    </Register>
+    <Register start="+0x08" size="1" name="RTC_INTFLAG" access="Read/Write" description="MODE0 Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMP0" description="Compare 0" />
+      <BitField start="6" size="1" name="SYNCRDY" description="Synchronization Ready" />
+      <BitField start="7" size="1" name="OVF" description="Overflow" />
+    </Register>
+    <Register start="+0x02" size="2" name="RTC_READREQ" access="Read/Write" description="Read Request" reset_value="0x0010" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="ADDR" description="Address" />
+      <BitField start="14" size="1" name="RCONT" description="Read Continuously" />
+      <BitField start="15" size="1" name="RREQ" description="Read Request" />
+    </Register>
+    <Register start="+0x0A" size="1" name="RTC_STATUS" access="Read/Write" description="Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="RTC (MODE1)" start="0x40001400" description="Real-Time Counter">
+    <Register start="+0x18+0" size="2" name="RTC_COMP0" access="Read/Write" description="MODE1 Compare n Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COMP" description="Compare Value" />
+    </Register>
+    <Register start="+0x18+2" size="2" name="RTC_COMP1" access="Read/Write" description="MODE1 Compare n Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COMP" description="Compare Value" />
+    </Register>
+    <Register start="+0x10" size="2" name="RTC_COUNT" access="Read/Write" description="MODE1 Counter Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x00" size="2" name="RTC_CTRL" access="Read/Write" description="MODE1 Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Operating Mode">
+        <Enum name="COUNT32" start="0x0" description="Mode 0: 32-bit Counter" />
+        <Enum name="COUNT16" start="0x1" description="Mode 1: 16-bit Counter" />
+        <Enum name="CLOCK" start="0x2" description="Mode 2: Clock/Calendar" />
+      </BitField>
+      <BitField start="8" size="4" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="CLK_RTC_CNT = GCLK_RTC/1" />
+        <Enum name="DIV2" start="0x1" description="CLK_RTC_CNT = GCLK_RTC/2" />
+        <Enum name="DIV4" start="0x2" description="CLK_RTC_CNT = GCLK_RTC/4" />
+        <Enum name="DIV8" start="0x3" description="CLK_RTC_CNT = GCLK_RTC/8" />
+        <Enum name="DIV16" start="0x4" description="CLK_RTC_CNT = GCLK_RTC/16" />
+        <Enum name="DIV32" start="0x5" description="CLK_RTC_CNT = GCLK_RTC/32" />
+        <Enum name="DIV64" start="0x6" description="CLK_RTC_CNT = GCLK_RTC/64" />
+        <Enum name="DIV128" start="0x7" description="CLK_RTC_CNT = GCLK_RTC/128" />
+        <Enum name="DIV256" start="0x8" description="CLK_RTC_CNT = GCLK_RTC/256" />
+        <Enum name="DIV512" start="0x9" description="CLK_RTC_CNT = GCLK_RTC/512" />
+        <Enum name="DIV1024" start="0xa" description="CLK_RTC_CNT = GCLK_RTC/1024" />
+      </BitField>
+    </Register>
+    <Register start="+0x0B" size="1" name="RTC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x04" size="2" name="RTC_EVCTRL" access="Read/Write" description="MODE1 Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEREO0" description="Periodic Interval 0 Event Output Enable" />
+      <BitField start="1" size="1" name="PEREO1" description="Periodic Interval 1 Event Output Enable" />
+      <BitField start="2" size="1" name="PEREO2" description="Periodic Interval 2 Event Output Enable" />
+      <BitField start="3" size="1" name="PEREO3" description="Periodic Interval 3 Event Output Enable" />
+      <BitField start="4" size="1" name="PEREO4" description="Periodic Interval 4 Event Output Enable" />
+      <BitField start="5" size="1" name="PEREO5" description="Periodic Interval 5 Event Output Enable" />
+      <BitField start="6" size="1" name="PEREO6" description="Periodic Interval 6 Event Output Enable" />
+      <BitField start="7" size="1" name="PEREO7" description="Periodic Interval 7 Event Output Enable" />
+      <BitField start="8" size="1" name="CMPEO0" description="Compare 0 Event Output Enable" />
+      <BitField start="9" size="1" name="CMPEO1" description="Compare 1 Event Output Enable" />
+      <BitField start="15" size="1" name="OVFEO" description="Overflow Event Output Enable" />
+    </Register>
+    <Register start="+0x0C" size="1" name="RTC_FREQCORR" access="Read/Write" description="Frequency Correction" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="VALUE" description="Correction Value" />
+      <BitField start="7" size="1" name="SIGN" description="Correction Sign" />
+    </Register>
+    <Register start="+0x06" size="1" name="RTC_INTENCLR" access="Read/Write" description="MODE1 Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMP0" description="Compare 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="CMP1" description="Compare 1 Interrupt Enable" />
+      <BitField start="6" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="7" size="1" name="OVF" description="Overflow Interrupt Enable" />
+    </Register>
+    <Register start="+0x07" size="1" name="RTC_INTENSET" access="Read/Write" description="MODE1 Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMP0" description="Compare 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="CMP1" description="Compare 1 Interrupt Enable" />
+      <BitField start="6" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="7" size="1" name="OVF" description="Overflow Interrupt Enable" />
+    </Register>
+    <Register start="+0x08" size="1" name="RTC_INTFLAG" access="Read/Write" description="MODE1 Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMP0" description="Compare 0" />
+      <BitField start="1" size="1" name="CMP1" description="Compare 1" />
+      <BitField start="6" size="1" name="SYNCRDY" description="Synchronization Ready" />
+      <BitField start="7" size="1" name="OVF" description="Overflow" />
+    </Register>
+    <Register start="+0x14" size="2" name="RTC_PER" access="Read/Write" description="MODE1 Counter Period" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="PER" description="Counter Period" />
+    </Register>
+    <Register start="+0x02" size="2" name="RTC_READREQ" access="Read/Write" description="Read Request" reset_value="0x0010" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="ADDR" description="Address" />
+      <BitField start="14" size="1" name="RCONT" description="Read Continuously" />
+      <BitField start="15" size="1" name="RREQ" description="Read Request" />
+    </Register>
+    <Register start="+0x0A" size="1" name="RTC_STATUS" access="Read/Write" description="Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="RTC (MODE2)" start="0x40001400" description="Real-Time Counter">
+    <Register start="+0x18+0" size="4" name="RTC_ALARM0" access="Read/Write" description="MODE2 Alarm n Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="SECOND" description="Second" />
+      <BitField start="6" size="6" name="MINUTE" description="Minute" />
+      <BitField start="12" size="5" name="HOUR" description="Hour" />
+      <BitField start="17" size="5" name="DAY" description="Day" />
+      <BitField start="22" size="4" name="MONTH" description="Month" />
+      <BitField start="26" size="6" name="YEAR" description="Year" />
+    </Register>
+    <Register start="+0x10" size="4" name="RTC_CLOCK" access="Read/Write" description="MODE2 Clock Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="SECOND" description="Second" />
+      <BitField start="6" size="6" name="MINUTE" description="Minute" />
+      <BitField start="12" size="5" name="HOUR" description="Hour">
+        <Enum name="PM" start="0x10" description="Afternoon Hour" />
+      </BitField>
+      <BitField start="17" size="5" name="DAY" description="Day" />
+      <BitField start="22" size="4" name="MONTH" description="Month" />
+      <BitField start="26" size="6" name="YEAR" description="Year" />
+    </Register>
+    <Register start="+0x00" size="2" name="RTC_CTRL" access="Read/Write" description="MODE2 Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Operating Mode">
+        <Enum name="COUNT32" start="0x0" description="Mode 0: 32-bit Counter" />
+        <Enum name="COUNT16" start="0x1" description="Mode 1: 16-bit Counter" />
+        <Enum name="CLOCK" start="0x2" description="Mode 2: Clock/Calendar" />
+      </BitField>
+      <BitField start="6" size="1" name="CLKREP" description="Clock Representation" />
+      <BitField start="7" size="1" name="MATCHCLR" description="Clear on Match" />
+      <BitField start="8" size="4" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="CLK_RTC_CNT = GCLK_RTC/1" />
+        <Enum name="DIV2" start="0x1" description="CLK_RTC_CNT = GCLK_RTC/2" />
+        <Enum name="DIV4" start="0x2" description="CLK_RTC_CNT = GCLK_RTC/4" />
+        <Enum name="DIV8" start="0x3" description="CLK_RTC_CNT = GCLK_RTC/8" />
+        <Enum name="DIV16" start="0x4" description="CLK_RTC_CNT = GCLK_RTC/16" />
+        <Enum name="DIV32" start="0x5" description="CLK_RTC_CNT = GCLK_RTC/32" />
+        <Enum name="DIV64" start="0x6" description="CLK_RTC_CNT = GCLK_RTC/64" />
+        <Enum name="DIV128" start="0x7" description="CLK_RTC_CNT = GCLK_RTC/128" />
+        <Enum name="DIV256" start="0x8" description="CLK_RTC_CNT = GCLK_RTC/256" />
+        <Enum name="DIV512" start="0x9" description="CLK_RTC_CNT = GCLK_RTC/512" />
+        <Enum name="DIV1024" start="0xa" description="CLK_RTC_CNT = GCLK_RTC/1024" />
+      </BitField>
+    </Register>
+    <Register start="+0x0B" size="1" name="RTC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x04" size="2" name="RTC_EVCTRL" access="Read/Write" description="MODE2 Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEREO0" description="Periodic Interval 0 Event Output Enable" />
+      <BitField start="1" size="1" name="PEREO1" description="Periodic Interval 1 Event Output Enable" />
+      <BitField start="2" size="1" name="PEREO2" description="Periodic Interval 2 Event Output Enable" />
+      <BitField start="3" size="1" name="PEREO3" description="Periodic Interval 3 Event Output Enable" />
+      <BitField start="4" size="1" name="PEREO4" description="Periodic Interval 4 Event Output Enable" />
+      <BitField start="5" size="1" name="PEREO5" description="Periodic Interval 5 Event Output Enable" />
+      <BitField start="6" size="1" name="PEREO6" description="Periodic Interval 6 Event Output Enable" />
+      <BitField start="7" size="1" name="PEREO7" description="Periodic Interval 7 Event Output Enable" />
+      <BitField start="8" size="1" name="ALARMEO0" description="Alarm 0 Event Output Enable" />
+      <BitField start="15" size="1" name="OVFEO" description="Overflow Event Output Enable" />
+    </Register>
+    <Register start="+0x0C" size="1" name="RTC_FREQCORR" access="Read/Write" description="Frequency Correction" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="VALUE" description="Correction Value" />
+      <BitField start="7" size="1" name="SIGN" description="Correction Sign" />
+    </Register>
+    <Register start="+0x06" size="1" name="RTC_INTENCLR" access="Read/Write" description="MODE2 Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ALARM0" description="Alarm 0 Interrupt Enable" />
+      <BitField start="6" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="7" size="1" name="OVF" description="Overflow Interrupt Enable" />
+    </Register>
+    <Register start="+0x07" size="1" name="RTC_INTENSET" access="Read/Write" description="MODE2 Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ALARM0" description="Alarm 0 Interrupt Enable" />
+      <BitField start="6" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="7" size="1" name="OVF" description="Overflow Interrupt Enable" />
+    </Register>
+    <Register start="+0x08" size="1" name="RTC_INTFLAG" access="Read/Write" description="MODE2 Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ALARM0" description="Alarm 0" />
+      <BitField start="6" size="1" name="SYNCRDY" description="Synchronization Ready" />
+      <BitField start="7" size="1" name="OVF" description="Overflow" />
+    </Register>
+    <Register start="+0x1C+0" size="1" name="RTC_MASK0" access="Read/Write" description="MODE2 Alarm n Mask" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="SEL" description="Alarm Mask Selection">
+        <Enum name="OFF" start="0x0" description="Alarm Disabled" />
+        <Enum name="SS" start="0x1" description="Match seconds only" />
+        <Enum name="MMSS" start="0x2" description="Match seconds and minutes only" />
+        <Enum name="HHMMSS" start="0x3" description="Match seconds, minutes, and hours only" />
+        <Enum name="DDHHMMSS" start="0x4" description="Match seconds, minutes, hours, and days only" />
+        <Enum name="MMDDHHMMSS" start="0x5" description="Match seconds, minutes, hours, days, and months only" />
+        <Enum name="YYMMDDHHMMSS" start="0x6" description="Match seconds, minutes, hours, days, months, and years" />
+      </BitField>
+    </Register>
+    <Register start="+0x02" size="2" name="RTC_READREQ" access="Read/Write" description="Read Request" reset_value="0x0010" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="ADDR" description="Address" />
+      <BitField start="14" size="1" name="RCONT" description="Read Continuously" />
+      <BitField start="15" size="1" name="RREQ" description="Read Request" />
+    </Register>
+    <Register start="+0x0A" size="1" name="RTC_STATUS" access="Read/Write" description="Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM0 (I2CM)" start="0x42000800" description="Serial Communication Interface 0">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CM Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="11" name="ADDR" description="Address Value" />
+      <BitField start="13" size="1" name="LENEN" description="Length Enable" />
+      <BitField start="14" size="1" name="HS" description="High Speed Mode" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="16" size="8" name="LEN" description="Length" />
+    </Register>
+    <Register start="+0x0C" size="4" name="SERCOM_BAUD" access="Read/Write" description="I2CM Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+      <BitField start="8" size="8" name="BAUDLOW" description="Baud Rate Value Low" />
+      <BitField start="16" size="8" name="HSBAUD" description="High Speed Baud Rate Value" />
+      <BitField start="24" size="8" name="HSBAUDLOW" description="High Speed Baud Rate Value Low" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CM Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="22" size="1" name="MEXTTOEN" description="Master SCL Low Extend Timeout" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="28" size="2" name="INACTOUT" description="Inactive Time-Out" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CM Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="QCEN" description="Quick Command Enable" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x28" size="1" name="SERCOM_DATA" access="Read/Write" description="I2CM Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="I2CM Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CM Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Disable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CM Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Enable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CM Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CM Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="ARBLOST" description="Arbitration Lost" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="4" size="2" name="BUSSTATE" description="Bus State" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="8" size="1" name="MEXTTOUT" description="Master SCL Low Extend Timeout" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="LENERR" description="Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CM Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="SYSOP" description="System Operation Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM0 (I2CS)" start="0x42000800" description="Serial Communication Interface 0">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CS Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="GENCEN" description="General Call Address Enable" />
+      <BitField start="1" size="10" name="ADDR" description="Address Value" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="17" size="10" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CS Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CS Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="GCMD" description="PMBus Group Command" />
+      <BitField start="10" size="1" name="AACKEN" description="Automatic Address Acknowledge" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x28" size="1" name="SERCOM_DATA" access="Read/Write" description="I2CS Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CS Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Disable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Disable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CS Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Enable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Enable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CS Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CS Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="COLL" description="Transmit Collision" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="3" size="1" name="DIR" description="Read/Write Direction" />
+      <BitField start="4" size="1" name="SR" description="Repeated Start" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="HS" description="High Speed" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CS Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM0 (SPI)" start="0x42000800" description="Serial Communication Interface 0">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="SPI Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="ADDR" description="Address Value" />
+      <BitField start="16" size="8" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x0C" size="1" name="SERCOM_BAUD" access="Read/Write" description="SPI Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="SPI Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="16" size="2" name="DOPO" description="Data Out Pinout" />
+      <BitField start="20" size="2" name="DIPO" description="Data In Pinout" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CPHA" description="Clock Phase" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="SPI Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="PLOADEN" description="Data Preload Enable" />
+      <BitField start="9" size="1" name="SSDE" description="Slave Select Low Detect Enable" />
+      <BitField start="13" size="1" name="MSSEN" description="Master Slave Select Enable" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="SPI Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="9" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="SPI Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="SPI Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="SPI Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="SPI Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Flag" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="SPI Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="SPI Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM0 (USART)" start="0x42000800" description="Serial Communication Interface 0">
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRAC_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRACFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_USARTFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="USART Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="13" size="3" name="SAMPR" description="Sample" />
+      <BitField start="16" size="2" name="TXPO" description="Transmit Data Pinout" />
+      <BitField start="20" size="2" name="RXPO" description="Receive Data Pinout" />
+      <BitField start="22" size="2" name="SAMPA" description="Sample Adjustment" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CMODE" description="Communication Mode" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="USART Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="SBMODE" description="Stop Bit Mode" />
+      <BitField start="8" size="1" name="COLDEN" description="Collision Detection Enable" />
+      <BitField start="9" size="1" name="SFDE" description="Start of Frame Detection Enable" />
+      <BitField start="10" size="1" name="ENC" description="Encoding Format" />
+      <BitField start="13" size="1" name="PMODE" description="Parity Mode" />
+      <BitField start="16" size="1" name="TXEN" description="Transmitter Enable" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x28" size="2" name="SERCOM_DATA" access="Read/Write" description="USART Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="9" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="USART Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="USART Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Disable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Disable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="USART Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Enable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Enable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="USART Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x0E" size="1" name="SERCOM_RXPL" access="Read/Write" description="USART Receive Pulse Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="RXPL" description="Receive Pulse Length" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="USART Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PERR" description="Parity Error" />
+      <BitField start="1" size="1" name="FERR" description="Frame Error" />
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="3" size="1" name="CTS" description="Clear To Send" />
+      <BitField start="4" size="1" name="ISF" description="Inconsistent Sync Field" />
+      <BitField start="5" size="1" name="COLL" description="Collision Detected" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="USART Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM1 (I2CM)" start="0x42000C00" description="Serial Communication Interface 1">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CM Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="11" name="ADDR" description="Address Value" />
+      <BitField start="13" size="1" name="LENEN" description="Length Enable" />
+      <BitField start="14" size="1" name="HS" description="High Speed Mode" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="16" size="8" name="LEN" description="Length" />
+    </Register>
+    <Register start="+0x0C" size="4" name="SERCOM_BAUD" access="Read/Write" description="I2CM Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+      <BitField start="8" size="8" name="BAUDLOW" description="Baud Rate Value Low" />
+      <BitField start="16" size="8" name="HSBAUD" description="High Speed Baud Rate Value" />
+      <BitField start="24" size="8" name="HSBAUDLOW" description="High Speed Baud Rate Value Low" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CM Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="22" size="1" name="MEXTTOEN" description="Master SCL Low Extend Timeout" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="28" size="2" name="INACTOUT" description="Inactive Time-Out" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CM Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="QCEN" description="Quick Command Enable" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x28" size="1" name="SERCOM_DATA" access="Read/Write" description="I2CM Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="I2CM Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CM Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Disable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CM Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Enable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CM Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CM Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="ARBLOST" description="Arbitration Lost" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="4" size="2" name="BUSSTATE" description="Bus State" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="8" size="1" name="MEXTTOUT" description="Master SCL Low Extend Timeout" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="LENERR" description="Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CM Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="SYSOP" description="System Operation Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM1 (I2CS)" start="0x42000C00" description="Serial Communication Interface 1">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CS Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="GENCEN" description="General Call Address Enable" />
+      <BitField start="1" size="10" name="ADDR" description="Address Value" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="17" size="10" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CS Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CS Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="GCMD" description="PMBus Group Command" />
+      <BitField start="10" size="1" name="AACKEN" description="Automatic Address Acknowledge" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x28" size="1" name="SERCOM_DATA" access="Read/Write" description="I2CS Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CS Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Disable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Disable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CS Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Enable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Enable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CS Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CS Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="COLL" description="Transmit Collision" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="3" size="1" name="DIR" description="Read/Write Direction" />
+      <BitField start="4" size="1" name="SR" description="Repeated Start" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="HS" description="High Speed" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CS Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM1 (SPI)" start="0x42000C00" description="Serial Communication Interface 1">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="SPI Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="ADDR" description="Address Value" />
+      <BitField start="16" size="8" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x0C" size="1" name="SERCOM_BAUD" access="Read/Write" description="SPI Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="SPI Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="16" size="2" name="DOPO" description="Data Out Pinout" />
+      <BitField start="20" size="2" name="DIPO" description="Data In Pinout" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CPHA" description="Clock Phase" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="SPI Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="PLOADEN" description="Data Preload Enable" />
+      <BitField start="9" size="1" name="SSDE" description="Slave Select Low Detect Enable" />
+      <BitField start="13" size="1" name="MSSEN" description="Master Slave Select Enable" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="SPI Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="9" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="SPI Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="SPI Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="SPI Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="SPI Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Flag" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="SPI Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="SPI Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM1 (USART)" start="0x42000C00" description="Serial Communication Interface 1">
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRAC_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRACFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_USARTFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="USART Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="13" size="3" name="SAMPR" description="Sample" />
+      <BitField start="16" size="2" name="TXPO" description="Transmit Data Pinout" />
+      <BitField start="20" size="2" name="RXPO" description="Receive Data Pinout" />
+      <BitField start="22" size="2" name="SAMPA" description="Sample Adjustment" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CMODE" description="Communication Mode" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="USART Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="SBMODE" description="Stop Bit Mode" />
+      <BitField start="8" size="1" name="COLDEN" description="Collision Detection Enable" />
+      <BitField start="9" size="1" name="SFDE" description="Start of Frame Detection Enable" />
+      <BitField start="10" size="1" name="ENC" description="Encoding Format" />
+      <BitField start="13" size="1" name="PMODE" description="Parity Mode" />
+      <BitField start="16" size="1" name="TXEN" description="Transmitter Enable" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x28" size="2" name="SERCOM_DATA" access="Read/Write" description="USART Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="9" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="USART Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="USART Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Disable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Disable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="USART Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Enable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Enable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="USART Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x0E" size="1" name="SERCOM_RXPL" access="Read/Write" description="USART Receive Pulse Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="RXPL" description="Receive Pulse Length" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="USART Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PERR" description="Parity Error" />
+      <BitField start="1" size="1" name="FERR" description="Frame Error" />
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="3" size="1" name="CTS" description="Clear To Send" />
+      <BitField start="4" size="1" name="ISF" description="Inconsistent Sync Field" />
+      <BitField start="5" size="1" name="COLL" description="Collision Detected" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="USART Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM2 (I2CM)" start="0x42001000" description="Serial Communication Interface 2">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CM Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="11" name="ADDR" description="Address Value" />
+      <BitField start="13" size="1" name="LENEN" description="Length Enable" />
+      <BitField start="14" size="1" name="HS" description="High Speed Mode" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="16" size="8" name="LEN" description="Length" />
+    </Register>
+    <Register start="+0x0C" size="4" name="SERCOM_BAUD" access="Read/Write" description="I2CM Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+      <BitField start="8" size="8" name="BAUDLOW" description="Baud Rate Value Low" />
+      <BitField start="16" size="8" name="HSBAUD" description="High Speed Baud Rate Value" />
+      <BitField start="24" size="8" name="HSBAUDLOW" description="High Speed Baud Rate Value Low" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CM Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="22" size="1" name="MEXTTOEN" description="Master SCL Low Extend Timeout" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="28" size="2" name="INACTOUT" description="Inactive Time-Out" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CM Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="QCEN" description="Quick Command Enable" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x28" size="1" name="SERCOM_DATA" access="Read/Write" description="I2CM Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="I2CM Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CM Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Disable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CM Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Enable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CM Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CM Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="ARBLOST" description="Arbitration Lost" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="4" size="2" name="BUSSTATE" description="Bus State" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="8" size="1" name="MEXTTOUT" description="Master SCL Low Extend Timeout" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="LENERR" description="Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CM Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="SYSOP" description="System Operation Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM2 (I2CS)" start="0x42001000" description="Serial Communication Interface 2">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CS Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="GENCEN" description="General Call Address Enable" />
+      <BitField start="1" size="10" name="ADDR" description="Address Value" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="17" size="10" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CS Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CS Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="GCMD" description="PMBus Group Command" />
+      <BitField start="10" size="1" name="AACKEN" description="Automatic Address Acknowledge" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x28" size="1" name="SERCOM_DATA" access="Read/Write" description="I2CS Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CS Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Disable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Disable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CS Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Enable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Enable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CS Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CS Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="COLL" description="Transmit Collision" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="3" size="1" name="DIR" description="Read/Write Direction" />
+      <BitField start="4" size="1" name="SR" description="Repeated Start" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="HS" description="High Speed" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CS Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM2 (SPI)" start="0x42001000" description="Serial Communication Interface 2">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="SPI Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="ADDR" description="Address Value" />
+      <BitField start="16" size="8" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x0C" size="1" name="SERCOM_BAUD" access="Read/Write" description="SPI Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="SPI Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="16" size="2" name="DOPO" description="Data Out Pinout" />
+      <BitField start="20" size="2" name="DIPO" description="Data In Pinout" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CPHA" description="Clock Phase" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="SPI Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="PLOADEN" description="Data Preload Enable" />
+      <BitField start="9" size="1" name="SSDE" description="Slave Select Low Detect Enable" />
+      <BitField start="13" size="1" name="MSSEN" description="Master Slave Select Enable" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="SPI Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="9" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="SPI Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="SPI Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="SPI Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="SPI Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Flag" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="SPI Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="SPI Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM2 (USART)" start="0x42001000" description="Serial Communication Interface 2">
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRAC_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRACFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_USARTFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="USART Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="13" size="3" name="SAMPR" description="Sample" />
+      <BitField start="16" size="2" name="TXPO" description="Transmit Data Pinout" />
+      <BitField start="20" size="2" name="RXPO" description="Receive Data Pinout" />
+      <BitField start="22" size="2" name="SAMPA" description="Sample Adjustment" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CMODE" description="Communication Mode" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="USART Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="SBMODE" description="Stop Bit Mode" />
+      <BitField start="8" size="1" name="COLDEN" description="Collision Detection Enable" />
+      <BitField start="9" size="1" name="SFDE" description="Start of Frame Detection Enable" />
+      <BitField start="10" size="1" name="ENC" description="Encoding Format" />
+      <BitField start="13" size="1" name="PMODE" description="Parity Mode" />
+      <BitField start="16" size="1" name="TXEN" description="Transmitter Enable" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x28" size="2" name="SERCOM_DATA" access="Read/Write" description="USART Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="9" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="USART Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="USART Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Disable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Disable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="USART Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Enable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Enable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="USART Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x0E" size="1" name="SERCOM_RXPL" access="Read/Write" description="USART Receive Pulse Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="RXPL" description="Receive Pulse Length" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="USART Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PERR" description="Parity Error" />
+      <BitField start="1" size="1" name="FERR" description="Frame Error" />
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="3" size="1" name="CTS" description="Clear To Send" />
+      <BitField start="4" size="1" name="ISF" description="Inconsistent Sync Field" />
+      <BitField start="5" size="1" name="COLL" description="Collision Detected" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="USART Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM3 (I2CM)" start="0x42001400" description="Serial Communication Interface 3">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CM Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="11" name="ADDR" description="Address Value" />
+      <BitField start="13" size="1" name="LENEN" description="Length Enable" />
+      <BitField start="14" size="1" name="HS" description="High Speed Mode" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="16" size="8" name="LEN" description="Length" />
+    </Register>
+    <Register start="+0x0C" size="4" name="SERCOM_BAUD" access="Read/Write" description="I2CM Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+      <BitField start="8" size="8" name="BAUDLOW" description="Baud Rate Value Low" />
+      <BitField start="16" size="8" name="HSBAUD" description="High Speed Baud Rate Value" />
+      <BitField start="24" size="8" name="HSBAUDLOW" description="High Speed Baud Rate Value Low" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CM Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="22" size="1" name="MEXTTOEN" description="Master SCL Low Extend Timeout" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="28" size="2" name="INACTOUT" description="Inactive Time-Out" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CM Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="QCEN" description="Quick Command Enable" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x28" size="1" name="SERCOM_DATA" access="Read/Write" description="I2CM Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="I2CM Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CM Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Disable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CM Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Enable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CM Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CM Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="ARBLOST" description="Arbitration Lost" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="4" size="2" name="BUSSTATE" description="Bus State" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="8" size="1" name="MEXTTOUT" description="Master SCL Low Extend Timeout" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="LENERR" description="Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CM Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="SYSOP" description="System Operation Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM3 (I2CS)" start="0x42001400" description="Serial Communication Interface 3">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CS Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="GENCEN" description="General Call Address Enable" />
+      <BitField start="1" size="10" name="ADDR" description="Address Value" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="17" size="10" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CS Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CS Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="GCMD" description="PMBus Group Command" />
+      <BitField start="10" size="1" name="AACKEN" description="Automatic Address Acknowledge" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x28" size="1" name="SERCOM_DATA" access="Read/Write" description="I2CS Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CS Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Disable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Disable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CS Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Enable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Enable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CS Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CS Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="COLL" description="Transmit Collision" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="3" size="1" name="DIR" description="Read/Write Direction" />
+      <BitField start="4" size="1" name="SR" description="Repeated Start" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="HS" description="High Speed" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CS Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM3 (SPI)" start="0x42001400" description="Serial Communication Interface 3">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="SPI Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="ADDR" description="Address Value" />
+      <BitField start="16" size="8" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x0C" size="1" name="SERCOM_BAUD" access="Read/Write" description="SPI Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="SPI Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="16" size="2" name="DOPO" description="Data Out Pinout" />
+      <BitField start="20" size="2" name="DIPO" description="Data In Pinout" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CPHA" description="Clock Phase" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="SPI Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="PLOADEN" description="Data Preload Enable" />
+      <BitField start="9" size="1" name="SSDE" description="Slave Select Low Detect Enable" />
+      <BitField start="13" size="1" name="MSSEN" description="Master Slave Select Enable" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="SPI Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="9" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="SPI Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="SPI Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="SPI Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="SPI Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Flag" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="SPI Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="SPI Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM3 (USART)" start="0x42001400" description="Serial Communication Interface 3">
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRAC_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRACFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_USARTFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="USART Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="13" size="3" name="SAMPR" description="Sample" />
+      <BitField start="16" size="2" name="TXPO" description="Transmit Data Pinout" />
+      <BitField start="20" size="2" name="RXPO" description="Receive Data Pinout" />
+      <BitField start="22" size="2" name="SAMPA" description="Sample Adjustment" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CMODE" description="Communication Mode" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="USART Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="SBMODE" description="Stop Bit Mode" />
+      <BitField start="8" size="1" name="COLDEN" description="Collision Detection Enable" />
+      <BitField start="9" size="1" name="SFDE" description="Start of Frame Detection Enable" />
+      <BitField start="10" size="1" name="ENC" description="Encoding Format" />
+      <BitField start="13" size="1" name="PMODE" description="Parity Mode" />
+      <BitField start="16" size="1" name="TXEN" description="Transmitter Enable" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x28" size="2" name="SERCOM_DATA" access="Read/Write" description="USART Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="9" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="USART Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="USART Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Disable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Disable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="USART Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Enable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Enable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="USART Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x0E" size="1" name="SERCOM_RXPL" access="Read/Write" description="USART Receive Pulse Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="RXPL" description="Receive Pulse Length" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="USART Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PERR" description="Parity Error" />
+      <BitField start="1" size="1" name="FERR" description="Frame Error" />
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="3" size="1" name="CTS" description="Clear To Send" />
+      <BitField start="4" size="1" name="ISF" description="Inconsistent Sync Field" />
+      <BitField start="5" size="1" name="COLL" description="Collision Detected" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="USART Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM4 (I2CM)" start="0x42001800" description="Serial Communication Interface 4">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CM Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="11" name="ADDR" description="Address Value" />
+      <BitField start="13" size="1" name="LENEN" description="Length Enable" />
+      <BitField start="14" size="1" name="HS" description="High Speed Mode" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="16" size="8" name="LEN" description="Length" />
+    </Register>
+    <Register start="+0x0C" size="4" name="SERCOM_BAUD" access="Read/Write" description="I2CM Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+      <BitField start="8" size="8" name="BAUDLOW" description="Baud Rate Value Low" />
+      <BitField start="16" size="8" name="HSBAUD" description="High Speed Baud Rate Value" />
+      <BitField start="24" size="8" name="HSBAUDLOW" description="High Speed Baud Rate Value Low" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CM Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="22" size="1" name="MEXTTOEN" description="Master SCL Low Extend Timeout" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="28" size="2" name="INACTOUT" description="Inactive Time-Out" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CM Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="QCEN" description="Quick Command Enable" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x28" size="1" name="SERCOM_DATA" access="Read/Write" description="I2CM Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="I2CM Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CM Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Disable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CM Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Enable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CM Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CM Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="ARBLOST" description="Arbitration Lost" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="4" size="2" name="BUSSTATE" description="Bus State" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="8" size="1" name="MEXTTOUT" description="Master SCL Low Extend Timeout" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="LENERR" description="Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CM Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="SYSOP" description="System Operation Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM4 (I2CS)" start="0x42001800" description="Serial Communication Interface 4">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CS Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="GENCEN" description="General Call Address Enable" />
+      <BitField start="1" size="10" name="ADDR" description="Address Value" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="17" size="10" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CS Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CS Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="GCMD" description="PMBus Group Command" />
+      <BitField start="10" size="1" name="AACKEN" description="Automatic Address Acknowledge" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x28" size="1" name="SERCOM_DATA" access="Read/Write" description="I2CS Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CS Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Disable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Disable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CS Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Enable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Enable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CS Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CS Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="COLL" description="Transmit Collision" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="3" size="1" name="DIR" description="Read/Write Direction" />
+      <BitField start="4" size="1" name="SR" description="Repeated Start" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="HS" description="High Speed" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CS Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM4 (SPI)" start="0x42001800" description="Serial Communication Interface 4">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="SPI Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="ADDR" description="Address Value" />
+      <BitField start="16" size="8" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x0C" size="1" name="SERCOM_BAUD" access="Read/Write" description="SPI Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="SPI Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="16" size="2" name="DOPO" description="Data Out Pinout" />
+      <BitField start="20" size="2" name="DIPO" description="Data In Pinout" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CPHA" description="Clock Phase" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="SPI Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="PLOADEN" description="Data Preload Enable" />
+      <BitField start="9" size="1" name="SSDE" description="Slave Select Low Detect Enable" />
+      <BitField start="13" size="1" name="MSSEN" description="Master Slave Select Enable" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="SPI Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="9" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="SPI Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="SPI Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="SPI Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="SPI Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Flag" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="SPI Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="SPI Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM4 (USART)" start="0x42001800" description="Serial Communication Interface 4">
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRAC_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRACFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_USARTFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="USART Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="13" size="3" name="SAMPR" description="Sample" />
+      <BitField start="16" size="2" name="TXPO" description="Transmit Data Pinout" />
+      <BitField start="20" size="2" name="RXPO" description="Receive Data Pinout" />
+      <BitField start="22" size="2" name="SAMPA" description="Sample Adjustment" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CMODE" description="Communication Mode" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="USART Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="SBMODE" description="Stop Bit Mode" />
+      <BitField start="8" size="1" name="COLDEN" description="Collision Detection Enable" />
+      <BitField start="9" size="1" name="SFDE" description="Start of Frame Detection Enable" />
+      <BitField start="10" size="1" name="ENC" description="Encoding Format" />
+      <BitField start="13" size="1" name="PMODE" description="Parity Mode" />
+      <BitField start="16" size="1" name="TXEN" description="Transmitter Enable" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x28" size="2" name="SERCOM_DATA" access="Read/Write" description="USART Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="9" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="USART Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="USART Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Disable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Disable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="USART Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Enable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Enable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="USART Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x0E" size="1" name="SERCOM_RXPL" access="Read/Write" description="USART Receive Pulse Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="RXPL" description="Receive Pulse Length" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="USART Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PERR" description="Parity Error" />
+      <BitField start="1" size="1" name="FERR" description="Frame Error" />
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="3" size="1" name="CTS" description="Clear To Send" />
+      <BitField start="4" size="1" name="ISF" description="Inconsistent Sync Field" />
+      <BitField start="5" size="1" name="COLL" description="Collision Detected" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="USART Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM5 (I2CM)" start="0x42001C00" description="Serial Communication Interface 5">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CM Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="11" name="ADDR" description="Address Value" />
+      <BitField start="13" size="1" name="LENEN" description="Length Enable" />
+      <BitField start="14" size="1" name="HS" description="High Speed Mode" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="16" size="8" name="LEN" description="Length" />
+    </Register>
+    <Register start="+0x0C" size="4" name="SERCOM_BAUD" access="Read/Write" description="I2CM Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+      <BitField start="8" size="8" name="BAUDLOW" description="Baud Rate Value Low" />
+      <BitField start="16" size="8" name="HSBAUD" description="High Speed Baud Rate Value" />
+      <BitField start="24" size="8" name="HSBAUDLOW" description="High Speed Baud Rate Value Low" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CM Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="22" size="1" name="MEXTTOEN" description="Master SCL Low Extend Timeout" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="28" size="2" name="INACTOUT" description="Inactive Time-Out" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CM Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="QCEN" description="Quick Command Enable" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x28" size="1" name="SERCOM_DATA" access="Read/Write" description="I2CM Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="I2CM Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CM Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Disable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CM Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Enable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CM Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CM Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="ARBLOST" description="Arbitration Lost" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="4" size="2" name="BUSSTATE" description="Bus State" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="8" size="1" name="MEXTTOUT" description="Master SCL Low Extend Timeout" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="LENERR" description="Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CM Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="SYSOP" description="System Operation Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM5 (I2CS)" start="0x42001C00" description="Serial Communication Interface 5">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CS Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="GENCEN" description="General Call Address Enable" />
+      <BitField start="1" size="10" name="ADDR" description="Address Value" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="17" size="10" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CS Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CS Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="GCMD" description="PMBus Group Command" />
+      <BitField start="10" size="1" name="AACKEN" description="Automatic Address Acknowledge" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x28" size="1" name="SERCOM_DATA" access="Read/Write" description="I2CS Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CS Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Disable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Disable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CS Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Enable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Enable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CS Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CS Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="COLL" description="Transmit Collision" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="3" size="1" name="DIR" description="Read/Write Direction" />
+      <BitField start="4" size="1" name="SR" description="Repeated Start" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="HS" description="High Speed" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CS Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM5 (SPI)" start="0x42001C00" description="Serial Communication Interface 5">
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="SPI Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="ADDR" description="Address Value" />
+      <BitField start="16" size="8" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x0C" size="1" name="SERCOM_BAUD" access="Read/Write" description="SPI Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="SPI Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="16" size="2" name="DOPO" description="Data Out Pinout" />
+      <BitField start="20" size="2" name="DIPO" description="Data In Pinout" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CPHA" description="Clock Phase" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="SPI Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="PLOADEN" description="Data Preload Enable" />
+      <BitField start="9" size="1" name="SSDE" description="Slave Select Low Detect Enable" />
+      <BitField start="13" size="1" name="MSSEN" description="Master Slave Select Enable" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="SPI Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="9" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="SPI Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="SPI Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="SPI Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="SPI Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Flag" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="SPI Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="SPI Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM5 (USART)" start="0x42001C00" description="Serial Communication Interface 5">
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRAC_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRACFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_USARTFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="USART Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode">
+        <Enum name="USART_EXT_CLK" start="0x0" description="USART mode with external clock" />
+        <Enum name="USART_INT_CLK" start="0x1" description="USART mode with internal clock" />
+        <Enum name="SPI_SLAVE" start="0x2" description="SPI mode with external clock" />
+        <Enum name="SPI_MASTER" start="0x3" description="SPI mode with internal clock" />
+        <Enum name="I2C_SLAVE" start="0x4" description="I2C mode with external clock" />
+        <Enum name="I2C_MASTER" start="0x5" description="I2C mode with internal clock" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="13" size="3" name="SAMPR" description="Sample" />
+      <BitField start="16" size="2" name="TXPO" description="Transmit Data Pinout" />
+      <BitField start="20" size="2" name="RXPO" description="Receive Data Pinout" />
+      <BitField start="22" size="2" name="SAMPA" description="Sample Adjustment" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CMODE" description="Communication Mode" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="USART Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="SBMODE" description="Stop Bit Mode" />
+      <BitField start="8" size="1" name="COLDEN" description="Collision Detection Enable" />
+      <BitField start="9" size="1" name="SFDE" description="Start of Frame Detection Enable" />
+      <BitField start="10" size="1" name="ENC" description="Encoding Format" />
+      <BitField start="13" size="1" name="PMODE" description="Parity Mode" />
+      <BitField start="16" size="1" name="TXEN" description="Transmitter Enable" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x28" size="2" name="SERCOM_DATA" access="Read/Write" description="USART Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="9" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="USART Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="USART Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Disable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Disable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="USART Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Enable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Enable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="USART Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x0E" size="1" name="SERCOM_RXPL" access="Read/Write" description="USART Receive Pulse Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="RXPL" description="Receive Pulse Length" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="USART Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PERR" description="Parity Error" />
+      <BitField start="1" size="1" name="FERR" description="Frame Error" />
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="3" size="1" name="CTS" description="Clear To Send" />
+      <BitField start="4" size="1" name="ISF" description="Inconsistent Sync Field" />
+      <BitField start="5" size="1" name="COLL" description="Collision Detected" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="USART Syncbusy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SYSCTRL" start="0x40000800" description="System Control">
+    <Register start="+0x34" size="4" name="SYSCTRL_BOD33" access="Read/Write" description="3.3V Brown-Out Detector (BOD33) Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="1" name="HYST" description="Hysteresis" />
+      <BitField start="3" size="2" name="ACTION" description="BOD33 Action">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RESET" start="0x1" description="The BOD33 generates a reset" />
+        <Enum name="INTERRUPT" start="0x2" description="The BOD33 generates an interrupt" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="8" size="1" name="MODE" description="Operation Mode" />
+      <BitField start="9" size="1" name="CEN" description="Clock Enable" />
+      <BitField start="12" size="4" name="PSEL" description="Prescaler Select">
+        <Enum name="DIV2" start="0x0" description="Divide clock by 2" />
+        <Enum name="DIV4" start="0x1" description="Divide clock by 4" />
+        <Enum name="DIV8" start="0x2" description="Divide clock by 8" />
+        <Enum name="DIV16" start="0x3" description="Divide clock by 16" />
+        <Enum name="DIV32" start="0x4" description="Divide clock by 32" />
+        <Enum name="DIV64" start="0x5" description="Divide clock by 64" />
+        <Enum name="DIV128" start="0x6" description="Divide clock by 128" />
+        <Enum name="DIV256" start="0x7" description="Divide clock by 256" />
+        <Enum name="DIV512" start="0x8" description="Divide clock by 512" />
+        <Enum name="DIV1K" start="0x9" description="Divide clock by 1024" />
+        <Enum name="DIV2K" start="0xa" description="Divide clock by 2048" />
+        <Enum name="DIV4K" start="0xb" description="Divide clock by 4096" />
+        <Enum name="DIV8K" start="0xc" description="Divide clock by 8192" />
+        <Enum name="DIV16K" start="0xd" description="Divide clock by 16384" />
+        <Enum name="DIV32K" start="0xe" description="Divide clock by 32768" />
+        <Enum name="DIV64K" start="0xf" description="Divide clock by 65536" />
+      </BitField>
+      <BitField start="16" size="6" name="LEVEL" description="BOD33 Threshold Level" />
+    </Register>
+    <Register start="+0x24" size="2" name="SYSCTRL_DFLLCTRL" access="Read/Write" description="DFLL48M Control" reset_value="0x0080" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="DFLL Enable" />
+      <BitField start="2" size="1" name="MODE" description="Operating Mode Selection" />
+      <BitField start="3" size="1" name="STABLE" description="Stable DFLL Frequency" />
+      <BitField start="4" size="1" name="LLAW" description="Lose Lock After Wake" />
+      <BitField start="5" size="1" name="USBCRM" description="USB Clock Recovery Mode" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="On Demand Control" />
+      <BitField start="8" size="1" name="CCDIS" description="Chill Cycle Disable" />
+      <BitField start="9" size="1" name="QLDIS" description="Quick Lock Disable" />
+      <BitField start="10" size="1" name="BPLCKC" description="Bypass Coarse Lock" />
+      <BitField start="11" size="1" name="WAITLOCK" description="Wait Lock" />
+    </Register>
+    <Register start="+0x2C" size="4" name="SYSCTRL_DFLLMUL" access="Read/Write" description="DFLL48M Multiplier" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="MUL" description="DFLL Multiply Factor" />
+      <BitField start="16" size="10" name="FSTEP" description="Fine Maximum Step" />
+      <BitField start="26" size="6" name="CSTEP" description="Coarse Maximum Step" />
+    </Register>
+    <Register start="+0x30" size="1" name="SYSCTRL_DFLLSYNC" access="Read/Write" description="DFLL48M Synchronization" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="7" size="1" name="READREQ" description="Read Request" />
+    </Register>
+    <Register start="+0x28" size="4" name="SYSCTRL_DFLLVAL" access="Read/Write" description="DFLL48M Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="10" name="FINE" description="Fine Value" />
+      <BitField start="10" size="6" name="COARSE" description="Coarse Value" />
+      <BitField start="16" size="16" name="DIFF" description="Multiplication Ratio Difference" />
+    </Register>
+    <Register start="+0x44" size="1" name="SYSCTRL_DPLLCTRLA" access="Read/Write" description="DPLL Control A" reset_value="0x80" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="DPLL Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="On Demand Clock Activation" />
+    </Register>
+    <Register start="+0x4C" size="4" name="SYSCTRL_DPLLCTRLB" access="Read/Write" description="DPLL Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="FILTER" description="Proportional Integral Filter Selection">
+        <Enum name="DEFAULT" start="0x0" description="Default filter mode" />
+        <Enum name="LBFILT" start="0x1" description="Low bandwidth filter" />
+        <Enum name="HBFILT" start="0x2" description="High bandwidth filter" />
+        <Enum name="HDFILT" start="0x3" description="High damping filter" />
+      </BitField>
+      <BitField start="2" size="1" name="LPEN" description="Low-Power Enable" />
+      <BitField start="3" size="1" name="WUF" description="Wake Up Fast" />
+      <BitField start="4" size="2" name="REFCLK" description="Reference Clock Selection">
+        <Enum name="REF0" start="0x0" description="CLK_DPLL_REF0 clock reference" />
+        <Enum name="REF1" start="0x1" description="CLK_DPLL_REF1 clock reference" />
+        <Enum name="GCLK" start="0x2" description="GCLK_DPLL clock reference" />
+      </BitField>
+      <BitField start="8" size="3" name="LTIME" description="Lock Time">
+        <Enum name="DEFAULT" start="0x0" description="No time-out" />
+        <Enum name="8MS" start="0x4" description="Time-out if no lock within 8 ms" />
+        <Enum name="9MS" start="0x5" description="Time-out if no lock within 9 ms" />
+        <Enum name="10MS" start="0x6" description="Time-out if no lock within 10 ms" />
+        <Enum name="11MS" start="0x7" description="Time-out if no lock within 11 ms" />
+      </BitField>
+      <BitField start="12" size="1" name="LBYPASS" description="Lock Bypass" />
+      <BitField start="16" size="11" name="DIV" description="Clock Divider" />
+    </Register>
+    <Register start="+0x48" size="4" name="SYSCTRL_DPLLRATIO" access="Read/Write" description="DPLL Ratio Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="12" name="LDR" description="Loop Divider Ratio" />
+      <BitField start="16" size="4" name="LDRFRAC" description="Loop Divider Ratio Fractional Part" />
+    </Register>
+    <Register start="+0x50" size="1" name="SYSCTRL_DPLLSTATUS" access="ReadOnly" description="DPLL Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="LOCK" description="DPLL Lock Status" />
+      <BitField start="1" size="1" name="CLKRDY" description="Output Clock Ready" />
+      <BitField start="2" size="1" name="ENABLE" description="DPLL Enable" />
+      <BitField start="3" size="1" name="DIV" description="Divider Enable" />
+    </Register>
+    <Register start="+0x00" size="4" name="SYSCTRL_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="XOSCRDY" description="XOSC Ready Interrupt Enable" />
+      <BitField start="1" size="1" name="XOSC32KRDY" description="XOSC32K Ready Interrupt Enable" />
+      <BitField start="2" size="1" name="OSC32KRDY" description="OSC32K Ready Interrupt Enable" />
+      <BitField start="3" size="1" name="OSC8MRDY" description="OSC8M Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="DFLLRDY" description="DFLL Ready Interrupt Enable" />
+      <BitField start="5" size="1" name="DFLLOOB" description="DFLL Out Of Bounds Interrupt Enable" />
+      <BitField start="6" size="1" name="DFLLLCKF" description="DFLL Lock Fine Interrupt Enable" />
+      <BitField start="7" size="1" name="DFLLLCKC" description="DFLL Lock Coarse Interrupt Enable" />
+      <BitField start="8" size="1" name="DFLLRCS" description="DFLL Reference Clock Stopped Interrupt Enable" />
+      <BitField start="9" size="1" name="BOD33RDY" description="BOD33 Ready Interrupt Enable" />
+      <BitField start="10" size="1" name="BOD33DET" description="BOD33 Detection Interrupt Enable" />
+      <BitField start="11" size="1" name="B33SRDY" description="BOD33 Synchronization Ready Interrupt Enable" />
+      <BitField start="15" size="1" name="DPLLLCKR" description="DPLL Lock Rise Interrupt Enable" />
+      <BitField start="16" size="1" name="DPLLLCKF" description="DPLL Lock Fall Interrupt Enable" />
+      <BitField start="17" size="1" name="DPLLLTO" description="DPLL Lock Timeout Interrupt Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SYSCTRL_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="XOSCRDY" description="XOSC Ready Interrupt Enable" />
+      <BitField start="1" size="1" name="XOSC32KRDY" description="XOSC32K Ready Interrupt Enable" />
+      <BitField start="2" size="1" name="OSC32KRDY" description="OSC32K Ready Interrupt Enable" />
+      <BitField start="3" size="1" name="OSC8MRDY" description="OSC8M Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="DFLLRDY" description="DFLL Ready Interrupt Enable" />
+      <BitField start="5" size="1" name="DFLLOOB" description="DFLL Out Of Bounds Interrupt Enable" />
+      <BitField start="6" size="1" name="DFLLLCKF" description="DFLL Lock Fine Interrupt Enable" />
+      <BitField start="7" size="1" name="DFLLLCKC" description="DFLL Lock Coarse Interrupt Enable" />
+      <BitField start="8" size="1" name="DFLLRCS" description="DFLL Reference Clock Stopped Interrupt Enable" />
+      <BitField start="9" size="1" name="BOD33RDY" description="BOD33 Ready Interrupt Enable" />
+      <BitField start="10" size="1" name="BOD33DET" description="BOD33 Detection Interrupt Enable" />
+      <BitField start="11" size="1" name="B33SRDY" description="BOD33 Synchronization Ready Interrupt Enable" />
+      <BitField start="15" size="1" name="DPLLLCKR" description="DPLL Lock Rise Interrupt Enable" />
+      <BitField start="16" size="1" name="DPLLLCKF" description="DPLL Lock Fall Interrupt Enable" />
+      <BitField start="17" size="1" name="DPLLLTO" description="DPLL Lock Timeout Interrupt Enable" />
+    </Register>
+    <Register start="+0x08" size="4" name="SYSCTRL_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="XOSCRDY" description="XOSC Ready" />
+      <BitField start="1" size="1" name="XOSC32KRDY" description="XOSC32K Ready" />
+      <BitField start="2" size="1" name="OSC32KRDY" description="OSC32K Ready" />
+      <BitField start="3" size="1" name="OSC8MRDY" description="OSC8M Ready" />
+      <BitField start="4" size="1" name="DFLLRDY" description="DFLL Ready" />
+      <BitField start="5" size="1" name="DFLLOOB" description="DFLL Out Of Bounds" />
+      <BitField start="6" size="1" name="DFLLLCKF" description="DFLL Lock Fine" />
+      <BitField start="7" size="1" name="DFLLLCKC" description="DFLL Lock Coarse" />
+      <BitField start="8" size="1" name="DFLLRCS" description="DFLL Reference Clock Stopped" />
+      <BitField start="9" size="1" name="BOD33RDY" description="BOD33 Ready" />
+      <BitField start="10" size="1" name="BOD33DET" description="BOD33 Detection" />
+      <BitField start="11" size="1" name="B33SRDY" description="BOD33 Synchronization Ready" />
+      <BitField start="15" size="1" name="DPLLLCKR" description="DPLL Lock Rise" />
+      <BitField start="16" size="1" name="DPLLLCKF" description="DPLL Lock Fall" />
+      <BitField start="17" size="1" name="DPLLLTO" description="DPLL Lock Timeout" />
+    </Register>
+    <Register start="+0x18" size="4" name="SYSCTRL_OSC32K" access="Read/Write" description="32kHz Internal Oscillator (OSC32K) Control" reset_value="0x003F0080" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Oscillator Enable" />
+      <BitField start="2" size="1" name="EN32K" description="32kHz Output Enable" />
+      <BitField start="3" size="1" name="EN1K" description="1kHz Output Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="On Demand Control" />
+      <BitField start="8" size="3" name="STARTUP" description="Oscillator Start-Up Time" />
+      <BitField start="12" size="1" name="WRTLOCK" description="Write Lock" />
+      <BitField start="16" size="7" name="CALIB" description="Oscillator Calibration" />
+    </Register>
+    <Register start="+0x20" size="4" name="SYSCTRL_OSC8M" access="Read/Write" description="8MHz Internal Oscillator (OSC8M) Control" reset_value="0x87070382" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Oscillator Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="On Demand Control" />
+      <BitField start="8" size="2" name="PRESC" description="Oscillator Prescaler">
+        <Enum name="0" start="0x0" description="1" />
+        <Enum name="1" start="0x1" description="2" />
+        <Enum name="2" start="0x2" description="4" />
+        <Enum name="3" start="0x3" description="8" />
+      </BitField>
+      <BitField start="16" size="12" name="CALIB" description="Oscillator Calibration" />
+      <BitField start="30" size="2" name="FRANGE" description="Oscillator Frequency Range">
+        <Enum name="0" start="0x0" description="4 to 6MHz" />
+        <Enum name="1" start="0x1" description="6 to 8MHz" />
+        <Enum name="2" start="0x2" description="8 to 11MHz" />
+        <Enum name="3" start="0x3" description="11 to 15MHz" />
+      </BitField>
+    </Register>
+    <Register start="+0x1C" size="1" name="SYSCTRL_OSCULP32K" access="Read/Write" description="32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control" reset_value="0x1F" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="CALIB" description="Oscillator Calibration" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x0C" size="4" name="SYSCTRL_PCLKSR" access="ReadOnly" description="Power and Clocks Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="XOSCRDY" description="XOSC Ready" />
+      <BitField start="1" size="1" name="XOSC32KRDY" description="XOSC32K Ready" />
+      <BitField start="2" size="1" name="OSC32KRDY" description="OSC32K Ready" />
+      <BitField start="3" size="1" name="OSC8MRDY" description="OSC8M Ready" />
+      <BitField start="4" size="1" name="DFLLRDY" description="DFLL Ready" />
+      <BitField start="5" size="1" name="DFLLOOB" description="DFLL Out Of Bounds" />
+      <BitField start="6" size="1" name="DFLLLCKF" description="DFLL Lock Fine" />
+      <BitField start="7" size="1" name="DFLLLCKC" description="DFLL Lock Coarse" />
+      <BitField start="8" size="1" name="DFLLRCS" description="DFLL Reference Clock Stopped" />
+      <BitField start="9" size="1" name="BOD33RDY" description="BOD33 Ready" />
+      <BitField start="10" size="1" name="BOD33DET" description="BOD33 Detection" />
+      <BitField start="11" size="1" name="B33SRDY" description="BOD33 Synchronization Ready" />
+      <BitField start="15" size="1" name="DPLLLCKR" description="DPLL Lock Rise" />
+      <BitField start="16" size="1" name="DPLLLCKF" description="DPLL Lock Fall" />
+      <BitField start="17" size="1" name="DPLLLTO" description="DPLL Lock Timeout" />
+    </Register>
+    <Register start="+0x40" size="4" name="SYSCTRL_VREF" access="Read/Write" description="Voltage References System (VREF) Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="TSEN" description="Temperature Sensor Enable" />
+      <BitField start="2" size="1" name="BGOUTEN" description="Bandgap Output Enable" />
+      <BitField start="16" size="11" name="CALIB" description="Bandgap Voltage Generator Calibration" />
+    </Register>
+    <Register start="+0x3C" size="2" name="SYSCTRL_VREG" access="Read/Write" description="Voltage Regulator System (VREG) Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="13" size="1" name="FORCELDO" description="Force LDO Voltage Regulator" />
+    </Register>
+    <Register start="+0x10" size="2" name="SYSCTRL_XOSC" access="Read/Write" description="External Multipurpose Crystal Oscillator (XOSC) Control" reset_value="0x0080" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Oscillator Enable" />
+      <BitField start="2" size="1" name="XTALEN" description="Crystal Oscillator Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="On Demand Control" />
+      <BitField start="8" size="3" name="GAIN" description="Oscillator Gain">
+        <Enum name="0" start="0x0" description="2MHz" />
+        <Enum name="1" start="0x1" description="4MHz" />
+        <Enum name="2" start="0x2" description="8MHz" />
+        <Enum name="3" start="0x3" description="16MHz" />
+        <Enum name="4" start="0x4" description="30MHz" />
+      </BitField>
+      <BitField start="11" size="1" name="AMPGC" description="Automatic Amplitude Gain Control" />
+      <BitField start="12" size="4" name="STARTUP" description="Start-Up Time" />
+    </Register>
+    <Register start="+0x14" size="2" name="SYSCTRL_XOSC32K" access="Read/Write" description="32kHz External Crystal Oscillator (XOSC32K) Control" reset_value="0x0080" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Oscillator Enable" />
+      <BitField start="2" size="1" name="XTALEN" description="Crystal Oscillator Enable" />
+      <BitField start="3" size="1" name="EN32K" description="32kHz Output Enable" />
+      <BitField start="4" size="1" name="EN1K" description="1kHz Output Enable" />
+      <BitField start="5" size="1" name="AAMPEN" description="Automatic Amplitude Control Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="On Demand Control" />
+      <BitField start="8" size="3" name="STARTUP" description="Oscillator Start-Up Time" />
+      <BitField start="12" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC3 (COUNT8)" start="0x42002C00" description="Basic Timer Counter 3">
+    <Register start="+0x18+0" size="1" name="TC_CC0" access="Read/Write" description="COUNT8 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x18+1" size="1" name="TC_CC1" access="Read/Write" description="COUNT8 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x10" size="1" name="TC_COUNT" access="Read/Write" description="COUNT8 Counter Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x00" size="2" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="TC Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="5" size="2" name="WAVEGEN" description="Waveform Generation Operation">
+        <Enum name="NFRQ" start="0x0" />
+        <Enum name="MFRQ" start="0x1" />
+        <Enum name="NPWM" start="0x2" />
+        <Enum name="MPWM" start="0x3" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock. Reset the prescaler counter" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x02" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="1" name="TC_CTRLC" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform 0 Invert Enable" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform 1 Invert Enable" />
+      <BitField start="4" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="5" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run Mode" />
+    </Register>
+    <Register start="+0x0A" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="PPW" start="0x5" description="Period captured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period captured in CC1, pulse width in CC0" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Inverted Event Input" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Input" />
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="13" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0E" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="ERR" description="Error" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1" />
+    </Register>
+    <Register start="+0x14" size="1" name="TC_PER" access="Read/Write" description="COUNT8 Period Value" reset_value="0xFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x02" size="2" name="TC_READREQ" access="Read/Write" description="Read Request" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="ADDR" description="Address" />
+      <BitField start="14" size="1" name="RCONT" description="Read Continuously" />
+      <BitField start="15" size="1" name="RREQ" description="Read Request" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_STATUS" access="ReadOnly" description="Status" reset_value="0x08" reset_mask="0xFFFFFFFF">
+      <BitField start="3" size="1" name="STOP" description="Stop" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC3 (COUNT16)" start="0x42002C00" description="Basic Timer Counter 3">
+    <Register start="+0x18+0" size="2" name="TC_CC0" access="Read/Write" description="COUNT16 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x18+2" size="2" name="TC_CC1" access="Read/Write" description="COUNT16 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x10" size="2" name="TC_COUNT" access="Read/Write" description="COUNT16 Counter Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COUNT" description="Count Value" />
+    </Register>
+    <Register start="+0x00" size="2" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="TC Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="5" size="2" name="WAVEGEN" description="Waveform Generation Operation">
+        <Enum name="NFRQ" start="0x0" />
+        <Enum name="MFRQ" start="0x1" />
+        <Enum name="NPWM" start="0x2" />
+        <Enum name="MPWM" start="0x3" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock. Reset the prescaler counter" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x02" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="1" name="TC_CTRLC" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform 0 Invert Enable" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform 1 Invert Enable" />
+      <BitField start="4" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="5" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run Mode" />
+    </Register>
+    <Register start="+0x0A" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="PPW" start="0x5" description="Period captured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period captured in CC1, pulse width in CC0" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Inverted Event Input" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Input" />
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="13" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0E" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="ERR" description="Error" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1" />
+    </Register>
+    <Register start="+0x02" size="2" name="TC_READREQ" access="Read/Write" description="Read Request" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="ADDR" description="Address" />
+      <BitField start="14" size="1" name="RCONT" description="Read Continuously" />
+      <BitField start="15" size="1" name="RREQ" description="Read Request" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_STATUS" access="ReadOnly" description="Status" reset_value="0x08" reset_mask="0xFFFFFFFF">
+      <BitField start="3" size="1" name="STOP" description="Stop" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC3 (COUNT32)" start="0x42002C00" description="Basic Timer Counter 3">
+    <Register start="+0x18+0" size="4" name="TC_CC0" access="Read/Write" description="COUNT32 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x18+4" size="4" name="TC_CC1" access="Read/Write" description="COUNT32 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_COUNT" access="Read/Write" description="COUNT32 Counter Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="COUNT" description="Count Value" />
+    </Register>
+    <Register start="+0x00" size="2" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="TC Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="5" size="2" name="WAVEGEN" description="Waveform Generation Operation">
+        <Enum name="NFRQ" start="0x0" />
+        <Enum name="MFRQ" start="0x1" />
+        <Enum name="NPWM" start="0x2" />
+        <Enum name="MPWM" start="0x3" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock. Reset the prescaler counter" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x02" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="1" name="TC_CTRLC" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform 0 Invert Enable" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform 1 Invert Enable" />
+      <BitField start="4" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="5" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run Mode" />
+    </Register>
+    <Register start="+0x0A" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="PPW" start="0x5" description="Period captured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period captured in CC1, pulse width in CC0" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Inverted Event Input" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Input" />
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="13" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0E" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="ERR" description="Error" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1" />
+    </Register>
+    <Register start="+0x02" size="2" name="TC_READREQ" access="Read/Write" description="Read Request" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="ADDR" description="Address" />
+      <BitField start="14" size="1" name="RCONT" description="Read Continuously" />
+      <BitField start="15" size="1" name="RREQ" description="Read Request" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_STATUS" access="ReadOnly" description="Status" reset_value="0x08" reset_mask="0xFFFFFFFF">
+      <BitField start="3" size="1" name="STOP" description="Stop" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC4 (COUNT8)" start="0x42003000" description="Basic Timer Counter 4">
+    <Register start="+0x18+0" size="1" name="TC_CC0" access="Read/Write" description="COUNT8 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x18+1" size="1" name="TC_CC1" access="Read/Write" description="COUNT8 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x10" size="1" name="TC_COUNT" access="Read/Write" description="COUNT8 Counter Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x00" size="2" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="TC Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="5" size="2" name="WAVEGEN" description="Waveform Generation Operation">
+        <Enum name="NFRQ" start="0x0" />
+        <Enum name="MFRQ" start="0x1" />
+        <Enum name="NPWM" start="0x2" />
+        <Enum name="MPWM" start="0x3" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock. Reset the prescaler counter" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x02" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="1" name="TC_CTRLC" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform 0 Invert Enable" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform 1 Invert Enable" />
+      <BitField start="4" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="5" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run Mode" />
+    </Register>
+    <Register start="+0x0A" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="PPW" start="0x5" description="Period captured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period captured in CC1, pulse width in CC0" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Inverted Event Input" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Input" />
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="13" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0E" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="ERR" description="Error" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1" />
+    </Register>
+    <Register start="+0x14" size="1" name="TC_PER" access="Read/Write" description="COUNT8 Period Value" reset_value="0xFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x02" size="2" name="TC_READREQ" access="Read/Write" description="Read Request" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="ADDR" description="Address" />
+      <BitField start="14" size="1" name="RCONT" description="Read Continuously" />
+      <BitField start="15" size="1" name="RREQ" description="Read Request" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_STATUS" access="ReadOnly" description="Status" reset_value="0x08" reset_mask="0xFFFFFFFF">
+      <BitField start="3" size="1" name="STOP" description="Stop" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC4 (COUNT16)" start="0x42003000" description="Basic Timer Counter 4">
+    <Register start="+0x18+0" size="2" name="TC_CC0" access="Read/Write" description="COUNT16 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x18+2" size="2" name="TC_CC1" access="Read/Write" description="COUNT16 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x10" size="2" name="TC_COUNT" access="Read/Write" description="COUNT16 Counter Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COUNT" description="Count Value" />
+    </Register>
+    <Register start="+0x00" size="2" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="TC Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="5" size="2" name="WAVEGEN" description="Waveform Generation Operation">
+        <Enum name="NFRQ" start="0x0" />
+        <Enum name="MFRQ" start="0x1" />
+        <Enum name="NPWM" start="0x2" />
+        <Enum name="MPWM" start="0x3" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock. Reset the prescaler counter" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x02" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="1" name="TC_CTRLC" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform 0 Invert Enable" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform 1 Invert Enable" />
+      <BitField start="4" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="5" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run Mode" />
+    </Register>
+    <Register start="+0x0A" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="PPW" start="0x5" description="Period captured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period captured in CC1, pulse width in CC0" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Inverted Event Input" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Input" />
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="13" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0E" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="ERR" description="Error" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1" />
+    </Register>
+    <Register start="+0x02" size="2" name="TC_READREQ" access="Read/Write" description="Read Request" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="ADDR" description="Address" />
+      <BitField start="14" size="1" name="RCONT" description="Read Continuously" />
+      <BitField start="15" size="1" name="RREQ" description="Read Request" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_STATUS" access="ReadOnly" description="Status" reset_value="0x08" reset_mask="0xFFFFFFFF">
+      <BitField start="3" size="1" name="STOP" description="Stop" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC4 (COUNT32)" start="0x42003000" description="Basic Timer Counter 4">
+    <Register start="+0x18+0" size="4" name="TC_CC0" access="Read/Write" description="COUNT32 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x18+4" size="4" name="TC_CC1" access="Read/Write" description="COUNT32 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_COUNT" access="Read/Write" description="COUNT32 Counter Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="COUNT" description="Count Value" />
+    </Register>
+    <Register start="+0x00" size="2" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="TC Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="5" size="2" name="WAVEGEN" description="Waveform Generation Operation">
+        <Enum name="NFRQ" start="0x0" />
+        <Enum name="MFRQ" start="0x1" />
+        <Enum name="NPWM" start="0x2" />
+        <Enum name="MPWM" start="0x3" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock. Reset the prescaler counter" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x02" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="1" name="TC_CTRLC" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform 0 Invert Enable" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform 1 Invert Enable" />
+      <BitField start="4" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="5" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run Mode" />
+    </Register>
+    <Register start="+0x0A" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="PPW" start="0x5" description="Period captured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period captured in CC1, pulse width in CC0" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Inverted Event Input" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Input" />
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="13" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0E" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="ERR" description="Error" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1" />
+    </Register>
+    <Register start="+0x02" size="2" name="TC_READREQ" access="Read/Write" description="Read Request" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="ADDR" description="Address" />
+      <BitField start="14" size="1" name="RCONT" description="Read Continuously" />
+      <BitField start="15" size="1" name="RREQ" description="Read Request" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_STATUS" access="ReadOnly" description="Status" reset_value="0x08" reset_mask="0xFFFFFFFF">
+      <BitField start="3" size="1" name="STOP" description="Stop" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC5 (COUNT8)" start="0x42003400" description="Basic Timer Counter 5">
+    <Register start="+0x18+0" size="1" name="TC_CC0" access="Read/Write" description="COUNT8 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x18+1" size="1" name="TC_CC1" access="Read/Write" description="COUNT8 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x10" size="1" name="TC_COUNT" access="Read/Write" description="COUNT8 Counter Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x00" size="2" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="TC Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="5" size="2" name="WAVEGEN" description="Waveform Generation Operation">
+        <Enum name="NFRQ" start="0x0" />
+        <Enum name="MFRQ" start="0x1" />
+        <Enum name="NPWM" start="0x2" />
+        <Enum name="MPWM" start="0x3" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock. Reset the prescaler counter" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x02" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="1" name="TC_CTRLC" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform 0 Invert Enable" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform 1 Invert Enable" />
+      <BitField start="4" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="5" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run Mode" />
+    </Register>
+    <Register start="+0x0A" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="PPW" start="0x5" description="Period captured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period captured in CC1, pulse width in CC0" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Inverted Event Input" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Input" />
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="13" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0E" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="ERR" description="Error" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1" />
+    </Register>
+    <Register start="+0x14" size="1" name="TC_PER" access="Read/Write" description="COUNT8 Period Value" reset_value="0xFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x02" size="2" name="TC_READREQ" access="Read/Write" description="Read Request" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="ADDR" description="Address" />
+      <BitField start="14" size="1" name="RCONT" description="Read Continuously" />
+      <BitField start="15" size="1" name="RREQ" description="Read Request" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_STATUS" access="ReadOnly" description="Status" reset_value="0x08" reset_mask="0xFFFFFFFF">
+      <BitField start="3" size="1" name="STOP" description="Stop" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC5 (COUNT16)" start="0x42003400" description="Basic Timer Counter 5">
+    <Register start="+0x18+0" size="2" name="TC_CC0" access="Read/Write" description="COUNT16 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x18+2" size="2" name="TC_CC1" access="Read/Write" description="COUNT16 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x10" size="2" name="TC_COUNT" access="Read/Write" description="COUNT16 Counter Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COUNT" description="Count Value" />
+    </Register>
+    <Register start="+0x00" size="2" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="TC Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="5" size="2" name="WAVEGEN" description="Waveform Generation Operation">
+        <Enum name="NFRQ" start="0x0" />
+        <Enum name="MFRQ" start="0x1" />
+        <Enum name="NPWM" start="0x2" />
+        <Enum name="MPWM" start="0x3" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock. Reset the prescaler counter" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x02" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="1" name="TC_CTRLC" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform 0 Invert Enable" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform 1 Invert Enable" />
+      <BitField start="4" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="5" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run Mode" />
+    </Register>
+    <Register start="+0x0A" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="PPW" start="0x5" description="Period captured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period captured in CC1, pulse width in CC0" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Inverted Event Input" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Input" />
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="13" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0E" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="ERR" description="Error" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1" />
+    </Register>
+    <Register start="+0x02" size="2" name="TC_READREQ" access="Read/Write" description="Read Request" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="ADDR" description="Address" />
+      <BitField start="14" size="1" name="RCONT" description="Read Continuously" />
+      <BitField start="15" size="1" name="RREQ" description="Read Request" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_STATUS" access="ReadOnly" description="Status" reset_value="0x08" reset_mask="0xFFFFFFFF">
+      <BitField start="3" size="1" name="STOP" description="Stop" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC5 (COUNT32)" start="0x42003400" description="Basic Timer Counter 5">
+    <Register start="+0x18+0" size="4" name="TC_CC0" access="Read/Write" description="COUNT32 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x18+4" size="4" name="TC_CC1" access="Read/Write" description="COUNT32 Compare/Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Compare/Capture Value" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_COUNT" access="Read/Write" description="COUNT32 Counter Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="COUNT" description="Count Value" />
+    </Register>
+    <Register start="+0x00" size="2" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="TC Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="5" size="2" name="WAVEGEN" description="Waveform Generation Operation">
+        <Enum name="NFRQ" start="0x0" />
+        <Enum name="MFRQ" start="0x1" />
+        <Enum name="NPWM" start="0x2" />
+        <Enum name="MPWM" start="0x3" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock. Reset the prescaler counter" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x02" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="6" size="2" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="1" name="TC_CTRLC" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform 0 Invert Enable" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform 1 Invert Enable" />
+      <BitField start="4" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="5" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run Mode" />
+    </Register>
+    <Register start="+0x0A" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="PPW" start="0x5" description="Period captured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period captured in CC1, pulse width in CC0" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Inverted Event Input" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Input" />
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="13" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x0E" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="ERR" description="Error" />
+      <BitField start="3" size="1" name="SYNCRDY" description="Synchronization Ready" />
+      <BitField start="4" size="1" name="MC0" description="Match or Capture Channel 0" />
+      <BitField start="5" size="1" name="MC1" description="Match or Capture Channel 1" />
+    </Register>
+    <Register start="+0x02" size="2" name="TC_READREQ" access="Read/Write" description="Read Request" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="ADDR" description="Address" />
+      <BitField start="14" size="1" name="RCONT" description="Read Continuously" />
+      <BitField start="15" size="1" name="RREQ" description="Read Request" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_STATUS" access="ReadOnly" description="Status" reset_value="0x08" reset_mask="0xFFFFFFFF">
+      <BitField start="3" size="1" name="STOP" description="Stop" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TCC0" start="0x42002000" description="Timer Counter Control 0">
+    <Register start="+0x44+0" size="4" name="TCC_CC0" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCB0" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCB1" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCB2" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCB3" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCB0_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCB1_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCB2_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCB3_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCB0_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCB1_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCB2_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCB3_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCB0_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCB1_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCB2_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCB3_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH4" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="4" size="20" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH5" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="5" size="19" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH6" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="6" size="18" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x00" size="4" name="TCC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="5" size="2" name="RESOLUTION" description="Enhanced Resolution">
+        <Enum name="NONE" start="0x0" description="Dithering is disabled" />
+        <Enum name="DITH4" start="0x1" description="Dithering is done every 16 PWM frames" />
+        <Enum name="DITH5" start="0x2" description="Dithering is done every 32 PWM frames" />
+        <Enum name="DITH6" start="0x3" description="Dithering is done every 64 PWM frames" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="No division" />
+        <Enum name="DIV2" start="0x1" description="Divide by 2" />
+        <Enum name="DIV4" start="0x2" description="Divide by 4" />
+        <Enum name="DIV8" start="0x3" description="Divide by 8" />
+        <Enum name="DIV16" start="0x4" description="Divide by 16" />
+        <Enum name="DIV64" start="0x5" description="Divide by 64" />
+        <Enum name="DIV256" start="0x6" description="Divide by 256" />
+        <Enum name="DIV1024" start="0x7" description="Divide by 1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization Selection">
+        <Enum name="GCLK" start="0x0" description="Reload or reset counter on next GCLK" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset counter on next GCLK and reset prescaler counter" />
+      </BitField>
+      <BitField start="14" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="24" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="25" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="26" size="1" name="CPTEN2" description="Capture Channel 2 Enable" />
+      <BitField start="27" size="1" name="CPTEN3" description="Capture Channel 3 Enable" />
+    </Register>
+    <Register start="+0x04" size="1" name="TCC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="3" size="2" name="IDXCMD" description="Ramp Index Command">
+        <Enum name="DISABLE" start="0x0" description="Command disabled: Index toggles between cycles A and B" />
+        <Enum name="SET" start="0x1" description="Set index: cycle B will be forced in the next cycle" />
+        <Enum name="CLEAR" start="0x2" description="Clear index: cycle A will be forced in the next cycle" />
+        <Enum name="HOLD" start="0x3" description="Hold index: the next cycle will be the same as the current cycle" />
+      </BitField>
+      <BitField start="5" size="3" name="CMD" description="TCC Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Clear start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double buffered registers" />
+        <Enum name="READSYNC" start="0x4" description="Force COUNT read synchronization" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TCC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="3" size="2" name="IDXCMD" description="Ramp Index Command">
+        <Enum name="DISABLE" start="0x0" description="Command disabled: Index toggles between cycles A and B" />
+        <Enum name="SET" start="0x1" description="Set index: cycle B will be forced in the next cycle" />
+        <Enum name="CLEAR" start="0x2" description="Clear index: cycle A will be forced in the next cycle" />
+        <Enum name="HOLD" start="0x3" description="Hold index: the next cycle will be the same as the current cycle" />
+      </BitField>
+      <BitField start="5" size="3" name="CMD" description="TCC Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Clear start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double buffered registers" />
+        <Enum name="READSYNC" start="0x4" description="Force COUNT read synchronization" />
+      </BitField>
+    </Register>
+    <Register start="+0x1E" size="1" name="TCC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Running Mode" />
+      <BitField start="2" size="1" name="FDDBD" description="Fault Detection on Debug Break Detection" />
+    </Register>
+    <Register start="+0x18" size="4" name="TCC_DRVCTRL" access="Read/Write" description="Driver Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="NRE0" description="Non-Recoverable State 0 Output Enable" />
+      <BitField start="1" size="1" name="NRE1" description="Non-Recoverable State 1 Output Enable" />
+      <BitField start="2" size="1" name="NRE2" description="Non-Recoverable State 2 Output Enable" />
+      <BitField start="3" size="1" name="NRE3" description="Non-Recoverable State 3 Output Enable" />
+      <BitField start="4" size="1" name="NRE4" description="Non-Recoverable State 4 Output Enable" />
+      <BitField start="5" size="1" name="NRE5" description="Non-Recoverable State 5 Output Enable" />
+      <BitField start="6" size="1" name="NRE6" description="Non-Recoverable State 6 Output Enable" />
+      <BitField start="7" size="1" name="NRE7" description="Non-Recoverable State 7 Output Enable" />
+      <BitField start="8" size="1" name="NRV0" description="Non-Recoverable State 0 Output Value" />
+      <BitField start="9" size="1" name="NRV1" description="Non-Recoverable State 1 Output Value" />
+      <BitField start="10" size="1" name="NRV2" description="Non-Recoverable State 2 Output Value" />
+      <BitField start="11" size="1" name="NRV3" description="Non-Recoverable State 3 Output Value" />
+      <BitField start="12" size="1" name="NRV4" description="Non-Recoverable State 4 Output Value" />
+      <BitField start="13" size="1" name="NRV5" description="Non-Recoverable State 5 Output Value" />
+      <BitField start="14" size="1" name="NRV6" description="Non-Recoverable State 6 Output Value" />
+      <BitField start="15" size="1" name="NRV7" description="Non-Recoverable State 7 Output Value" />
+      <BitField start="16" size="1" name="INVEN0" description="Output Waveform 0 Inversion" />
+      <BitField start="17" size="1" name="INVEN1" description="Output Waveform 1 Inversion" />
+      <BitField start="18" size="1" name="INVEN2" description="Output Waveform 2 Inversion" />
+      <BitField start="19" size="1" name="INVEN3" description="Output Waveform 3 Inversion" />
+      <BitField start="20" size="1" name="INVEN4" description="Output Waveform 4 Inversion" />
+      <BitField start="21" size="1" name="INVEN5" description="Output Waveform 5 Inversion" />
+      <BitField start="22" size="1" name="INVEN6" description="Output Waveform 6 Inversion" />
+      <BitField start="23" size="1" name="INVEN7" description="Output Waveform 7 Inversion" />
+      <BitField start="24" size="4" name="FILTERVAL0" description="Non-Recoverable Fault Input 0 Filter Value" />
+      <BitField start="28" size="4" name="FILTERVAL1" description="Non-Recoverable Fault Input 1 Filter Value" />
+    </Register>
+    <Register start="+0x20" size="4" name="TCC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT0" description="Timer/counter Input Event0 Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or re-trigger counter on event" />
+        <Enum name="COUNTEV" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start counter on event" />
+        <Enum name="INC" start="0x4" description="Increment counter on event" />
+        <Enum name="COUNT" start="0x5" description="Count on active state of asynchronous event" />
+        <Enum name="FAULT" start="0x7" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="3" size="3" name="EVACT1" description="Timer/counter Input Event1 Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Re-trigger counter on event" />
+        <Enum name="DIR" start="0x2" description="Direction control" />
+        <Enum name="STOP" start="0x3" description="Stop counter on event" />
+        <Enum name="DEC" start="0x4" description="Decrement counter on event" />
+        <Enum name="PPW" start="0x5" description="Period capture value in CC0 register, pulse width capture value in CC1 register" />
+        <Enum name="PWP" start="0x6" description="Period capture value in CC1 register, pulse width capture value in CC0 register" />
+        <Enum name="FAULT" start="0x7" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="6" size="2" name="CNTSEL" description="Timer/counter Output Event Mode">
+        <Enum name="START" start="0x0" description="An interrupt/event is generated when a new counter cycle starts" />
+        <Enum name="END" start="0x1" description="An interrupt/event is generated when a counter cycle ends" />
+        <Enum name="BETWEEN" start="0x2" description="An interrupt/event is generated when a counter cycle ends, except for the first and last cycles" />
+        <Enum name="BOUNDARY" start="0x3" description="An interrupt/event is generated when a new counter cycle starts or a counter cycle ends" />
+      </BitField>
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Output Event Enable" />
+      <BitField start="9" size="1" name="TRGEO" description="Retrigger Output Event Enable" />
+      <BitField start="10" size="1" name="CNTEO" description="Timer/counter Output Event Enable" />
+      <BitField start="12" size="1" name="TCINV0" description="Inverted Event 0 Input Enable" />
+      <BitField start="13" size="1" name="TCINV1" description="Inverted Event 1 Input Enable" />
+      <BitField start="14" size="1" name="TCEI0" description="Timer/counter Event 0 Input Enable" />
+      <BitField start="15" size="1" name="TCEI1" description="Timer/counter Event 1 Input Enable" />
+      <BitField start="16" size="1" name="MCEI0" description="Match or Capture Channel 0 Event Input Enable" />
+      <BitField start="17" size="1" name="MCEI1" description="Match or Capture Channel 1 Event Input Enable" />
+      <BitField start="18" size="1" name="MCEI2" description="Match or Capture Channel 2 Event Input Enable" />
+      <BitField start="19" size="1" name="MCEI3" description="Match or Capture Channel 3 Event Input Enable" />
+      <BitField start="24" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="25" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+      <BitField start="26" size="1" name="MCEO2" description="Match or Capture Channel 2 Event Output Enable" />
+      <BitField start="27" size="1" name="MCEO3" description="Match or Capture Channel 3 Event Output Enable" />
+    </Register>
+    <Register start="+0x0C" size="4" name="TCC_FCTRLA" access="Read/Write" description="Recoverable Fault A Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SRC" description="Fault A Source">
+        <Enum name="DISABLE" start="0x0" description="Fault input disabled" />
+        <Enum name="ENABLE" start="0x1" description="MCEx (x=0,1) event input" />
+        <Enum name="INVERT" start="0x2" description="Inverted MCEx (x=0,1) event input" />
+        <Enum name="ALTFAULT" start="0x3" description="Alternate fault (A or B) state at the end of the previous period" />
+      </BitField>
+      <BitField start="3" size="1" name="KEEP" description="Fault A Keeper" />
+      <BitField start="4" size="1" name="QUAL" description="Fault A Qualification" />
+      <BitField start="5" size="2" name="BLANK" description="Fault A Blanking Mode">
+        <Enum name="NONE" start="0x0" description="No blanking applied" />
+        <Enum name="RISE" start="0x1" description="Blanking applied from rising edge of the output waveform" />
+        <Enum name="FALL" start="0x2" description="Blanking applied from falling edge of the output waveform" />
+        <Enum name="BOTH" start="0x3" description="Blanking applied from each toggle of the output waveform" />
+      </BitField>
+      <BitField start="7" size="1" name="RESTART" description="Fault A Restart" />
+      <BitField start="8" size="2" name="HALT" description="Fault A Halt Mode">
+        <Enum name="DISABLE" start="0x0" description="Halt action disabled" />
+        <Enum name="HW" start="0x1" description="Hardware halt action" />
+        <Enum name="SW" start="0x2" description="Software halt action" />
+        <Enum name="NR" start="0x3" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="10" size="2" name="CHSEL" description="Fault A Capture Channel">
+        <Enum name="CC0" start="0x0" description="Capture value stored in channel 0" />
+        <Enum name="CC1" start="0x1" description="Capture value stored in channel 1" />
+        <Enum name="CC2" start="0x2" description="Capture value stored in channel 2" />
+        <Enum name="CC3" start="0x3" description="Capture value stored in channel 3" />
+      </BitField>
+      <BitField start="12" size="3" name="CAPTURE" description="Fault A Capture Action">
+        <Enum name="DISABLE" start="0x0" description="No capture" />
+        <Enum name="CAPT" start="0x1" description="Capture on fault" />
+        <Enum name="CAPTMIN" start="0x2" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x3" description="Maximum capture" />
+        <Enum name="LOCMIN" start="0x4" description="Minimum local detection" />
+        <Enum name="LOCMAX" start="0x5" description="Maximum local detection" />
+        <Enum name="DERIV0" start="0x6" description="Minimum and maximum local detection" />
+      </BitField>
+      <BitField start="16" size="8" name="BLANKVAL" description="Fault A Blanking Time" />
+      <BitField start="24" size="4" name="FILTERVAL" description="Fault A Filter Value" />
+    </Register>
+    <Register start="+0x10" size="4" name="TCC_FCTRLB" access="Read/Write" description="Recoverable Fault B Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SRC" description="Fault B Source">
+        <Enum name="DISABLE" start="0x0" description="Fault input disabled" />
+        <Enum name="ENABLE" start="0x1" description="MCEx (x=0,1) event input" />
+        <Enum name="INVERT" start="0x2" description="Inverted MCEx (x=0,1) event input" />
+        <Enum name="ALTFAULT" start="0x3" description="Alternate fault (A or B) state at the end of the previous period" />
+      </BitField>
+      <BitField start="3" size="1" name="KEEP" description="Fault B Keeper" />
+      <BitField start="4" size="1" name="QUAL" description="Fault B Qualification" />
+      <BitField start="5" size="2" name="BLANK" description="Fault B Blanking Mode">
+        <Enum name="NONE" start="0x0" description="No blanking applied" />
+        <Enum name="RISE" start="0x1" description="Blanking applied from rising edge of the output waveform" />
+        <Enum name="FALL" start="0x2" description="Blanking applied from falling edge of the output waveform" />
+        <Enum name="BOTH" start="0x3" description="Blanking applied from each toggle of the output waveform" />
+      </BitField>
+      <BitField start="7" size="1" name="RESTART" description="Fault B Restart" />
+      <BitField start="8" size="2" name="HALT" description="Fault B Halt Mode">
+        <Enum name="DISABLE" start="0x0" description="Halt action disabled" />
+        <Enum name="HW" start="0x1" description="Hardware halt action" />
+        <Enum name="SW" start="0x2" description="Software halt action" />
+        <Enum name="NR" start="0x3" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="10" size="2" name="CHSEL" description="Fault B Capture Channel">
+        <Enum name="CC0" start="0x0" description="Capture value stored in channel 0" />
+        <Enum name="CC1" start="0x1" description="Capture value stored in channel 1" />
+        <Enum name="CC2" start="0x2" description="Capture value stored in channel 2" />
+        <Enum name="CC3" start="0x3" description="Capture value stored in channel 3" />
+      </BitField>
+      <BitField start="12" size="3" name="CAPTURE" description="Fault B Capture Action">
+        <Enum name="DISABLE" start="0x0" description="No capture" />
+        <Enum name="CAPT" start="0x1" description="Capture on fault" />
+        <Enum name="CAPTMIN" start="0x2" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x3" description="Maximum capture" />
+        <Enum name="LOCMIN" start="0x4" description="Minimum local detection" />
+        <Enum name="LOCMAX" start="0x5" description="Maximum local detection" />
+        <Enum name="DERIV0" start="0x6" description="Minimum and maximum local detection" />
+      </BitField>
+      <BitField start="16" size="8" name="BLANKVAL" description="Fault B Blanking Time" />
+      <BitField start="24" size="4" name="FILTERVAL" description="Fault B Filter Value" />
+    </Register>
+    <Register start="+0x24" size="4" name="TCC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger Interrupt Enable" />
+      <BitField start="2" size="1" name="CNT" description="Counter Interrupt Enable" />
+      <BitField start="3" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault Interrupt Enable" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A Interrupt Enable" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B Interrupt Enable" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 Interrupt Enable" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 Interrupt Enable" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture Channel 2 Interrupt Enable" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture Channel 3 Interrupt Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="TCC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger Interrupt Enable" />
+      <BitField start="2" size="1" name="CNT" description="Counter Interrupt Enable" />
+      <BitField start="3" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault Interrupt Enable" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A Interrupt Enable" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B Interrupt Enable" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 Interrupt Enable" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 Interrupt Enable" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture Channel 2 Interrupt Enable" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture Channel 3 Interrupt Enable" />
+    </Register>
+    <Register start="+0x2C" size="4" name="TCC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger" />
+      <BitField start="2" size="1" name="CNT" description="Counter" />
+      <BitField start="3" size="1" name="ERR" description="Error" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture 0" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture 1" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture 2" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture 3" />
+    </Register>
+    <Register start="+0x38" size="2" name="TCC_PATT" access="Read/Write" description="Pattern" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PGE0" description="Pattern Generator 0 Output Enable" />
+      <BitField start="1" size="1" name="PGE1" description="Pattern Generator 1 Output Enable" />
+      <BitField start="2" size="1" name="PGE2" description="Pattern Generator 2 Output Enable" />
+      <BitField start="3" size="1" name="PGE3" description="Pattern Generator 3 Output Enable" />
+      <BitField start="4" size="1" name="PGE4" description="Pattern Generator 4 Output Enable" />
+      <BitField start="5" size="1" name="PGE5" description="Pattern Generator 5 Output Enable" />
+      <BitField start="6" size="1" name="PGE6" description="Pattern Generator 6 Output Enable" />
+      <BitField start="7" size="1" name="PGE7" description="Pattern Generator 7 Output Enable" />
+      <BitField start="8" size="1" name="PGV0" description="Pattern Generator 0 Output Value" />
+      <BitField start="9" size="1" name="PGV1" description="Pattern Generator 1 Output Value" />
+      <BitField start="10" size="1" name="PGV2" description="Pattern Generator 2 Output Value" />
+      <BitField start="11" size="1" name="PGV3" description="Pattern Generator 3 Output Value" />
+      <BitField start="12" size="1" name="PGV4" description="Pattern Generator 4 Output Value" />
+      <BitField start="13" size="1" name="PGV5" description="Pattern Generator 5 Output Value" />
+      <BitField start="14" size="1" name="PGV6" description="Pattern Generator 6 Output Value" />
+      <BitField start="15" size="1" name="PGV7" description="Pattern Generator 7 Output Value" />
+    </Register>
+    <Register start="+0x64" size="2" name="TCC_PATTB" access="Read/Write" description="Pattern Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PGEB0" description="Pattern Generator 0 Output Enable Buffer" />
+      <BitField start="1" size="1" name="PGEB1" description="Pattern Generator 1 Output Enable Buffer" />
+      <BitField start="2" size="1" name="PGEB2" description="Pattern Generator 2 Output Enable Buffer" />
+      <BitField start="3" size="1" name="PGEB3" description="Pattern Generator 3 Output Enable Buffer" />
+      <BitField start="4" size="1" name="PGEB4" description="Pattern Generator 4 Output Enable Buffer" />
+      <BitField start="5" size="1" name="PGEB5" description="Pattern Generator 5 Output Enable Buffer" />
+      <BitField start="6" size="1" name="PGEB6" description="Pattern Generator 6 Output Enable Buffer" />
+      <BitField start="7" size="1" name="PGEB7" description="Pattern Generator 7 Output Enable Buffer" />
+      <BitField start="8" size="1" name="PGVB0" description="Pattern Generator 0 Output Enable" />
+      <BitField start="9" size="1" name="PGVB1" description="Pattern Generator 1 Output Enable" />
+      <BitField start="10" size="1" name="PGVB2" description="Pattern Generator 2 Output Enable" />
+      <BitField start="11" size="1" name="PGVB3" description="Pattern Generator 3 Output Enable" />
+      <BitField start="12" size="1" name="PGVB4" description="Pattern Generator 4 Output Enable" />
+      <BitField start="13" size="1" name="PGVB5" description="Pattern Generator 5 Output Enable" />
+      <BitField start="14" size="1" name="PGVB6" description="Pattern Generator 6 Output Enable" />
+      <BitField start="15" size="1" name="PGVB7" description="Pattern Generator 7 Output Enable" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH4" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH5" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH6" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERB" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="PERB" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERB_DITH4" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="PERB" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERB_DITH5" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="PERB" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERB_DITH6" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="PERB" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x30" size="4" name="TCC_STATUS" access="Read/Write" description="Status" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop" />
+      <BitField start="1" size="1" name="IDX" description="Ramp" />
+      <BitField start="3" size="1" name="DFS" description="Non-Recoverable Debug Fault State" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="5" size="1" name="PATTBV" description="Pattern Buffer Valid" />
+      <BitField start="6" size="1" name="WAVEBV" description="Wave Buffer Valid" />
+      <BitField start="7" size="1" name="PERBV" description="Period Buffer Valid" />
+      <BitField start="8" size="1" name="FAULTAIN" description="Recoverable Fault A Input" />
+      <BitField start="9" size="1" name="FAULTBIN" description="Recoverable Fault B Input" />
+      <BitField start="10" size="1" name="FAULT0IN" description="Non-Recoverable Fault0 Input" />
+      <BitField start="11" size="1" name="FAULT1IN" description="Non-Recoverable Fault1 Input" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A State" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B State" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 State" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 State" />
+      <BitField start="16" size="1" name="CCBV0" description="Compare Channel 0 Buffer Valid" />
+      <BitField start="17" size="1" name="CCBV1" description="Compare Channel 1 Buffer Valid" />
+      <BitField start="18" size="1" name="CCBV2" description="Compare Channel 2 Buffer Valid" />
+      <BitField start="19" size="1" name="CCBV3" description="Compare Channel 3 Buffer Valid" />
+      <BitField start="24" size="1" name="CMP0" description="Compare Channel 0 Value" />
+      <BitField start="25" size="1" name="CMP1" description="Compare Channel 1 Value" />
+      <BitField start="26" size="1" name="CMP2" description="Compare Channel 2 Value" />
+      <BitField start="27" size="1" name="CMP3" description="Compare Channel 3 Value" />
+    </Register>
+    <Register start="+0x08" size="4" name="TCC_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Swrst Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="Ctrlb Busy" />
+      <BitField start="3" size="1" name="STATUS" description="Status Busy" />
+      <BitField start="4" size="1" name="COUNT" description="Count Busy" />
+      <BitField start="5" size="1" name="PATT" description="Pattern Busy" />
+      <BitField start="6" size="1" name="WAVE" description="Wave Busy" />
+      <BitField start="7" size="1" name="PER" description="Period busy" />
+      <BitField start="8" size="1" name="CC0" description="Compare Channel 0 Busy" />
+      <BitField start="9" size="1" name="CC1" description="Compare Channel 1 Busy" />
+      <BitField start="10" size="1" name="CC2" description="Compare Channel 2 Busy" />
+      <BitField start="11" size="1" name="CC3" description="Compare Channel 3 Busy" />
+      <BitField start="16" size="1" name="PATTB" description="Pattern Buffer Busy" />
+      <BitField start="17" size="1" name="WAVEB" description="Wave Buffer Busy" />
+      <BitField start="18" size="1" name="PERB" description="Period Buffer Busy" />
+      <BitField start="19" size="1" name="CCB0" description="Compare Channel Buffer 0 Busy" />
+      <BitField start="20" size="1" name="CCB1" description="Compare Channel Buffer 1 Busy" />
+      <BitField start="21" size="1" name="CCB2" description="Compare Channel Buffer 2 Busy" />
+      <BitField start="22" size="1" name="CCB3" description="Compare Channel Buffer 3 Busy" />
+    </Register>
+    <Register start="+0x3C" size="4" name="TCC_WAVE" access="Read/Write" description="Waveform Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="WAVEGEN" description="Waveform Generation">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="DSCRITICAL" start="0x4" description="Dual-slope critical" />
+        <Enum name="DSBOTTOM" start="0x5" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO" />
+        <Enum name="DSBOTH" start="0x6" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP" />
+        <Enum name="DSTOP" start="0x7" description="Dual-slope with interrupt/event condition when COUNT reaches TOP" />
+      </BitField>
+      <BitField start="4" size="2" name="RAMP" description="Ramp Mode">
+        <Enum name="RAMP1" start="0x0" description="RAMP1 operation" />
+        <Enum name="RAMP2A" start="0x1" description="Alternative RAMP2 operation" />
+        <Enum name="RAMP2" start="0x2" description="RAMP2 operation" />
+      </BitField>
+      <BitField start="7" size="1" name="CIPEREN" description="Circular period Enable" />
+      <BitField start="8" size="1" name="CICCEN0" description="Circular Channel 0 Enable" />
+      <BitField start="9" size="1" name="CICCEN1" description="Circular Channel 1 Enable" />
+      <BitField start="10" size="1" name="CICCEN2" description="Circular Channel 2 Enable" />
+      <BitField start="11" size="1" name="CICCEN3" description="Circular Channel 3 Enable" />
+      <BitField start="16" size="1" name="POL0" description="Channel 0 Polarity" />
+      <BitField start="17" size="1" name="POL1" description="Channel 1 Polarity" />
+      <BitField start="18" size="1" name="POL2" description="Channel 2 Polarity" />
+      <BitField start="19" size="1" name="POL3" description="Channel 3 Polarity" />
+      <BitField start="24" size="1" name="SWAP0" description="Swap DTI Output Pair 0" />
+      <BitField start="25" size="1" name="SWAP1" description="Swap DTI Output Pair 1" />
+      <BitField start="26" size="1" name="SWAP2" description="Swap DTI Output Pair 2" />
+      <BitField start="27" size="1" name="SWAP3" description="Swap DTI Output Pair 3" />
+    </Register>
+    <Register start="+0x68" size="4" name="TCC_WAVEB" access="Read/Write" description="Waveform Control Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="WAVEGENB" description="Waveform Generation Buffer">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="DSCRITICAL" start="0x4" description="Dual-slope critical" />
+        <Enum name="DSBOTTOM" start="0x5" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO" />
+        <Enum name="DSBOTH" start="0x6" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP" />
+        <Enum name="DSTOP" start="0x7" description="Dual-slope with interrupt/event condition when COUNT reaches TOP" />
+      </BitField>
+      <BitField start="4" size="2" name="RAMPB" description="Ramp Mode Buffer">
+        <Enum name="RAMP1" start="0x0" description="RAMP1 operation" />
+        <Enum name="RAMP2A" start="0x1" description="Alternative RAMP2 operation" />
+        <Enum name="RAMP2" start="0x2" description="RAMP2 operation" />
+      </BitField>
+      <BitField start="7" size="1" name="CIPERENB" description="Circular Period Enable Buffer" />
+      <BitField start="8" size="1" name="CICCENB0" description="Circular Channel 0 Enable Buffer" />
+      <BitField start="9" size="1" name="CICCENB1" description="Circular Channel 1 Enable Buffer" />
+      <BitField start="10" size="1" name="CICCENB2" description="Circular Channel 2 Enable Buffer" />
+      <BitField start="11" size="1" name="CICCENB3" description="Circular Channel 3 Enable Buffer" />
+      <BitField start="16" size="1" name="POLB0" description="Channel 0 Polarity Buffer" />
+      <BitField start="17" size="1" name="POLB1" description="Channel 1 Polarity Buffer" />
+      <BitField start="18" size="1" name="POLB2" description="Channel 2 Polarity Buffer" />
+      <BitField start="19" size="1" name="POLB3" description="Channel 3 Polarity Buffer" />
+      <BitField start="24" size="1" name="SWAPB0" description="Swap DTI Output Pair 0 Buffer" />
+      <BitField start="25" size="1" name="SWAPB1" description="Swap DTI Output Pair 1 Buffer" />
+      <BitField start="26" size="1" name="SWAPB2" description="Swap DTI Output Pair 2 Buffer" />
+      <BitField start="27" size="1" name="SWAPB3" description="Swap DTI Output Pair 3 Buffer" />
+    </Register>
+    <Register start="+0x14" size="4" name="TCC_WEXCTRL" access="Read/Write" description="Waveform Extension Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="OTMX" description="Output Matrix" />
+      <BitField start="8" size="1" name="DTIEN0" description="Dead-time Insertion Generator 0 Enable" />
+      <BitField start="9" size="1" name="DTIEN1" description="Dead-time Insertion Generator 1 Enable" />
+      <BitField start="10" size="1" name="DTIEN2" description="Dead-time Insertion Generator 2 Enable" />
+      <BitField start="11" size="1" name="DTIEN3" description="Dead-time Insertion Generator 3 Enable" />
+      <BitField start="16" size="8" name="DTLS" description="Dead-time Low Side Outputs Value" />
+      <BitField start="24" size="8" name="DTHS" description="Dead-time High Side Outputs Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TCC1" start="0x42002400" description="Timer Counter Control 1">
+    <Register start="+0x44+0" size="4" name="TCC_CC0" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCB0" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCB1" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCB2" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCB3" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCB0_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCB1_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCB2_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCB3_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCB0_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCB1_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCB2_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCB3_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCB0_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCB1_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCB2_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCB3_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH4" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="4" size="20" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH5" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="5" size="19" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH6" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="6" size="18" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x00" size="4" name="TCC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="5" size="2" name="RESOLUTION" description="Enhanced Resolution">
+        <Enum name="NONE" start="0x0" description="Dithering is disabled" />
+        <Enum name="DITH4" start="0x1" description="Dithering is done every 16 PWM frames" />
+        <Enum name="DITH5" start="0x2" description="Dithering is done every 32 PWM frames" />
+        <Enum name="DITH6" start="0x3" description="Dithering is done every 64 PWM frames" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="No division" />
+        <Enum name="DIV2" start="0x1" description="Divide by 2" />
+        <Enum name="DIV4" start="0x2" description="Divide by 4" />
+        <Enum name="DIV8" start="0x3" description="Divide by 8" />
+        <Enum name="DIV16" start="0x4" description="Divide by 16" />
+        <Enum name="DIV64" start="0x5" description="Divide by 64" />
+        <Enum name="DIV256" start="0x6" description="Divide by 256" />
+        <Enum name="DIV1024" start="0x7" description="Divide by 1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization Selection">
+        <Enum name="GCLK" start="0x0" description="Reload or reset counter on next GCLK" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset counter on next GCLK and reset prescaler counter" />
+      </BitField>
+      <BitField start="14" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="24" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="25" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="26" size="1" name="CPTEN2" description="Capture Channel 2 Enable" />
+      <BitField start="27" size="1" name="CPTEN3" description="Capture Channel 3 Enable" />
+    </Register>
+    <Register start="+0x04" size="1" name="TCC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="3" size="2" name="IDXCMD" description="Ramp Index Command">
+        <Enum name="DISABLE" start="0x0" description="Command disabled: Index toggles between cycles A and B" />
+        <Enum name="SET" start="0x1" description="Set index: cycle B will be forced in the next cycle" />
+        <Enum name="CLEAR" start="0x2" description="Clear index: cycle A will be forced in the next cycle" />
+        <Enum name="HOLD" start="0x3" description="Hold index: the next cycle will be the same as the current cycle" />
+      </BitField>
+      <BitField start="5" size="3" name="CMD" description="TCC Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Clear start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double buffered registers" />
+        <Enum name="READSYNC" start="0x4" description="Force COUNT read synchronization" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TCC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="3" size="2" name="IDXCMD" description="Ramp Index Command">
+        <Enum name="DISABLE" start="0x0" description="Command disabled: Index toggles between cycles A and B" />
+        <Enum name="SET" start="0x1" description="Set index: cycle B will be forced in the next cycle" />
+        <Enum name="CLEAR" start="0x2" description="Clear index: cycle A will be forced in the next cycle" />
+        <Enum name="HOLD" start="0x3" description="Hold index: the next cycle will be the same as the current cycle" />
+      </BitField>
+      <BitField start="5" size="3" name="CMD" description="TCC Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Clear start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double buffered registers" />
+        <Enum name="READSYNC" start="0x4" description="Force COUNT read synchronization" />
+      </BitField>
+    </Register>
+    <Register start="+0x1E" size="1" name="TCC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Running Mode" />
+      <BitField start="2" size="1" name="FDDBD" description="Fault Detection on Debug Break Detection" />
+    </Register>
+    <Register start="+0x18" size="4" name="TCC_DRVCTRL" access="Read/Write" description="Driver Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="NRE0" description="Non-Recoverable State 0 Output Enable" />
+      <BitField start="1" size="1" name="NRE1" description="Non-Recoverable State 1 Output Enable" />
+      <BitField start="2" size="1" name="NRE2" description="Non-Recoverable State 2 Output Enable" />
+      <BitField start="3" size="1" name="NRE3" description="Non-Recoverable State 3 Output Enable" />
+      <BitField start="4" size="1" name="NRE4" description="Non-Recoverable State 4 Output Enable" />
+      <BitField start="5" size="1" name="NRE5" description="Non-Recoverable State 5 Output Enable" />
+      <BitField start="6" size="1" name="NRE6" description="Non-Recoverable State 6 Output Enable" />
+      <BitField start="7" size="1" name="NRE7" description="Non-Recoverable State 7 Output Enable" />
+      <BitField start="8" size="1" name="NRV0" description="Non-Recoverable State 0 Output Value" />
+      <BitField start="9" size="1" name="NRV1" description="Non-Recoverable State 1 Output Value" />
+      <BitField start="10" size="1" name="NRV2" description="Non-Recoverable State 2 Output Value" />
+      <BitField start="11" size="1" name="NRV3" description="Non-Recoverable State 3 Output Value" />
+      <BitField start="12" size="1" name="NRV4" description="Non-Recoverable State 4 Output Value" />
+      <BitField start="13" size="1" name="NRV5" description="Non-Recoverable State 5 Output Value" />
+      <BitField start="14" size="1" name="NRV6" description="Non-Recoverable State 6 Output Value" />
+      <BitField start="15" size="1" name="NRV7" description="Non-Recoverable State 7 Output Value" />
+      <BitField start="16" size="1" name="INVEN0" description="Output Waveform 0 Inversion" />
+      <BitField start="17" size="1" name="INVEN1" description="Output Waveform 1 Inversion" />
+      <BitField start="18" size="1" name="INVEN2" description="Output Waveform 2 Inversion" />
+      <BitField start="19" size="1" name="INVEN3" description="Output Waveform 3 Inversion" />
+      <BitField start="20" size="1" name="INVEN4" description="Output Waveform 4 Inversion" />
+      <BitField start="21" size="1" name="INVEN5" description="Output Waveform 5 Inversion" />
+      <BitField start="22" size="1" name="INVEN6" description="Output Waveform 6 Inversion" />
+      <BitField start="23" size="1" name="INVEN7" description="Output Waveform 7 Inversion" />
+      <BitField start="24" size="4" name="FILTERVAL0" description="Non-Recoverable Fault Input 0 Filter Value" />
+      <BitField start="28" size="4" name="FILTERVAL1" description="Non-Recoverable Fault Input 1 Filter Value" />
+    </Register>
+    <Register start="+0x20" size="4" name="TCC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT0" description="Timer/counter Input Event0 Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or re-trigger counter on event" />
+        <Enum name="COUNTEV" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start counter on event" />
+        <Enum name="INC" start="0x4" description="Increment counter on event" />
+        <Enum name="COUNT" start="0x5" description="Count on active state of asynchronous event" />
+        <Enum name="FAULT" start="0x7" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="3" size="3" name="EVACT1" description="Timer/counter Input Event1 Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Re-trigger counter on event" />
+        <Enum name="DIR" start="0x2" description="Direction control" />
+        <Enum name="STOP" start="0x3" description="Stop counter on event" />
+        <Enum name="DEC" start="0x4" description="Decrement counter on event" />
+        <Enum name="PPW" start="0x5" description="Period capture value in CC0 register, pulse width capture value in CC1 register" />
+        <Enum name="PWP" start="0x6" description="Period capture value in CC1 register, pulse width capture value in CC0 register" />
+        <Enum name="FAULT" start="0x7" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="6" size="2" name="CNTSEL" description="Timer/counter Output Event Mode">
+        <Enum name="START" start="0x0" description="An interrupt/event is generated when a new counter cycle starts" />
+        <Enum name="END" start="0x1" description="An interrupt/event is generated when a counter cycle ends" />
+        <Enum name="BETWEEN" start="0x2" description="An interrupt/event is generated when a counter cycle ends, except for the first and last cycles" />
+        <Enum name="BOUNDARY" start="0x3" description="An interrupt/event is generated when a new counter cycle starts or a counter cycle ends" />
+      </BitField>
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Output Event Enable" />
+      <BitField start="9" size="1" name="TRGEO" description="Retrigger Output Event Enable" />
+      <BitField start="10" size="1" name="CNTEO" description="Timer/counter Output Event Enable" />
+      <BitField start="12" size="1" name="TCINV0" description="Inverted Event 0 Input Enable" />
+      <BitField start="13" size="1" name="TCINV1" description="Inverted Event 1 Input Enable" />
+      <BitField start="14" size="1" name="TCEI0" description="Timer/counter Event 0 Input Enable" />
+      <BitField start="15" size="1" name="TCEI1" description="Timer/counter Event 1 Input Enable" />
+      <BitField start="16" size="1" name="MCEI0" description="Match or Capture Channel 0 Event Input Enable" />
+      <BitField start="17" size="1" name="MCEI1" description="Match or Capture Channel 1 Event Input Enable" />
+      <BitField start="18" size="1" name="MCEI2" description="Match or Capture Channel 2 Event Input Enable" />
+      <BitField start="19" size="1" name="MCEI3" description="Match or Capture Channel 3 Event Input Enable" />
+      <BitField start="24" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="25" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+      <BitField start="26" size="1" name="MCEO2" description="Match or Capture Channel 2 Event Output Enable" />
+      <BitField start="27" size="1" name="MCEO3" description="Match or Capture Channel 3 Event Output Enable" />
+    </Register>
+    <Register start="+0x0C" size="4" name="TCC_FCTRLA" access="Read/Write" description="Recoverable Fault A Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SRC" description="Fault A Source">
+        <Enum name="DISABLE" start="0x0" description="Fault input disabled" />
+        <Enum name="ENABLE" start="0x1" description="MCEx (x=0,1) event input" />
+        <Enum name="INVERT" start="0x2" description="Inverted MCEx (x=0,1) event input" />
+        <Enum name="ALTFAULT" start="0x3" description="Alternate fault (A or B) state at the end of the previous period" />
+      </BitField>
+      <BitField start="3" size="1" name="KEEP" description="Fault A Keeper" />
+      <BitField start="4" size="1" name="QUAL" description="Fault A Qualification" />
+      <BitField start="5" size="2" name="BLANK" description="Fault A Blanking Mode">
+        <Enum name="NONE" start="0x0" description="No blanking applied" />
+        <Enum name="RISE" start="0x1" description="Blanking applied from rising edge of the output waveform" />
+        <Enum name="FALL" start="0x2" description="Blanking applied from falling edge of the output waveform" />
+        <Enum name="BOTH" start="0x3" description="Blanking applied from each toggle of the output waveform" />
+      </BitField>
+      <BitField start="7" size="1" name="RESTART" description="Fault A Restart" />
+      <BitField start="8" size="2" name="HALT" description="Fault A Halt Mode">
+        <Enum name="DISABLE" start="0x0" description="Halt action disabled" />
+        <Enum name="HW" start="0x1" description="Hardware halt action" />
+        <Enum name="SW" start="0x2" description="Software halt action" />
+        <Enum name="NR" start="0x3" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="10" size="2" name="CHSEL" description="Fault A Capture Channel">
+        <Enum name="CC0" start="0x0" description="Capture value stored in channel 0" />
+        <Enum name="CC1" start="0x1" description="Capture value stored in channel 1" />
+        <Enum name="CC2" start="0x2" description="Capture value stored in channel 2" />
+        <Enum name="CC3" start="0x3" description="Capture value stored in channel 3" />
+      </BitField>
+      <BitField start="12" size="3" name="CAPTURE" description="Fault A Capture Action">
+        <Enum name="DISABLE" start="0x0" description="No capture" />
+        <Enum name="CAPT" start="0x1" description="Capture on fault" />
+        <Enum name="CAPTMIN" start="0x2" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x3" description="Maximum capture" />
+        <Enum name="LOCMIN" start="0x4" description="Minimum local detection" />
+        <Enum name="LOCMAX" start="0x5" description="Maximum local detection" />
+        <Enum name="DERIV0" start="0x6" description="Minimum and maximum local detection" />
+      </BitField>
+      <BitField start="16" size="8" name="BLANKVAL" description="Fault A Blanking Time" />
+      <BitField start="24" size="4" name="FILTERVAL" description="Fault A Filter Value" />
+    </Register>
+    <Register start="+0x10" size="4" name="TCC_FCTRLB" access="Read/Write" description="Recoverable Fault B Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SRC" description="Fault B Source">
+        <Enum name="DISABLE" start="0x0" description="Fault input disabled" />
+        <Enum name="ENABLE" start="0x1" description="MCEx (x=0,1) event input" />
+        <Enum name="INVERT" start="0x2" description="Inverted MCEx (x=0,1) event input" />
+        <Enum name="ALTFAULT" start="0x3" description="Alternate fault (A or B) state at the end of the previous period" />
+      </BitField>
+      <BitField start="3" size="1" name="KEEP" description="Fault B Keeper" />
+      <BitField start="4" size="1" name="QUAL" description="Fault B Qualification" />
+      <BitField start="5" size="2" name="BLANK" description="Fault B Blanking Mode">
+        <Enum name="NONE" start="0x0" description="No blanking applied" />
+        <Enum name="RISE" start="0x1" description="Blanking applied from rising edge of the output waveform" />
+        <Enum name="FALL" start="0x2" description="Blanking applied from falling edge of the output waveform" />
+        <Enum name="BOTH" start="0x3" description="Blanking applied from each toggle of the output waveform" />
+      </BitField>
+      <BitField start="7" size="1" name="RESTART" description="Fault B Restart" />
+      <BitField start="8" size="2" name="HALT" description="Fault B Halt Mode">
+        <Enum name="DISABLE" start="0x0" description="Halt action disabled" />
+        <Enum name="HW" start="0x1" description="Hardware halt action" />
+        <Enum name="SW" start="0x2" description="Software halt action" />
+        <Enum name="NR" start="0x3" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="10" size="2" name="CHSEL" description="Fault B Capture Channel">
+        <Enum name="CC0" start="0x0" description="Capture value stored in channel 0" />
+        <Enum name="CC1" start="0x1" description="Capture value stored in channel 1" />
+        <Enum name="CC2" start="0x2" description="Capture value stored in channel 2" />
+        <Enum name="CC3" start="0x3" description="Capture value stored in channel 3" />
+      </BitField>
+      <BitField start="12" size="3" name="CAPTURE" description="Fault B Capture Action">
+        <Enum name="DISABLE" start="0x0" description="No capture" />
+        <Enum name="CAPT" start="0x1" description="Capture on fault" />
+        <Enum name="CAPTMIN" start="0x2" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x3" description="Maximum capture" />
+        <Enum name="LOCMIN" start="0x4" description="Minimum local detection" />
+        <Enum name="LOCMAX" start="0x5" description="Maximum local detection" />
+        <Enum name="DERIV0" start="0x6" description="Minimum and maximum local detection" />
+      </BitField>
+      <BitField start="16" size="8" name="BLANKVAL" description="Fault B Blanking Time" />
+      <BitField start="24" size="4" name="FILTERVAL" description="Fault B Filter Value" />
+    </Register>
+    <Register start="+0x24" size="4" name="TCC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger Interrupt Enable" />
+      <BitField start="2" size="1" name="CNT" description="Counter Interrupt Enable" />
+      <BitField start="3" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault Interrupt Enable" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A Interrupt Enable" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B Interrupt Enable" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 Interrupt Enable" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 Interrupt Enable" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture Channel 2 Interrupt Enable" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture Channel 3 Interrupt Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="TCC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger Interrupt Enable" />
+      <BitField start="2" size="1" name="CNT" description="Counter Interrupt Enable" />
+      <BitField start="3" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault Interrupt Enable" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A Interrupt Enable" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B Interrupt Enable" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 Interrupt Enable" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 Interrupt Enable" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture Channel 2 Interrupt Enable" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture Channel 3 Interrupt Enable" />
+    </Register>
+    <Register start="+0x2C" size="4" name="TCC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger" />
+      <BitField start="2" size="1" name="CNT" description="Counter" />
+      <BitField start="3" size="1" name="ERR" description="Error" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture 0" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture 1" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture 2" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture 3" />
+    </Register>
+    <Register start="+0x38" size="2" name="TCC_PATT" access="Read/Write" description="Pattern" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PGE0" description="Pattern Generator 0 Output Enable" />
+      <BitField start="1" size="1" name="PGE1" description="Pattern Generator 1 Output Enable" />
+      <BitField start="2" size="1" name="PGE2" description="Pattern Generator 2 Output Enable" />
+      <BitField start="3" size="1" name="PGE3" description="Pattern Generator 3 Output Enable" />
+      <BitField start="4" size="1" name="PGE4" description="Pattern Generator 4 Output Enable" />
+      <BitField start="5" size="1" name="PGE5" description="Pattern Generator 5 Output Enable" />
+      <BitField start="6" size="1" name="PGE6" description="Pattern Generator 6 Output Enable" />
+      <BitField start="7" size="1" name="PGE7" description="Pattern Generator 7 Output Enable" />
+      <BitField start="8" size="1" name="PGV0" description="Pattern Generator 0 Output Value" />
+      <BitField start="9" size="1" name="PGV1" description="Pattern Generator 1 Output Value" />
+      <BitField start="10" size="1" name="PGV2" description="Pattern Generator 2 Output Value" />
+      <BitField start="11" size="1" name="PGV3" description="Pattern Generator 3 Output Value" />
+      <BitField start="12" size="1" name="PGV4" description="Pattern Generator 4 Output Value" />
+      <BitField start="13" size="1" name="PGV5" description="Pattern Generator 5 Output Value" />
+      <BitField start="14" size="1" name="PGV6" description="Pattern Generator 6 Output Value" />
+      <BitField start="15" size="1" name="PGV7" description="Pattern Generator 7 Output Value" />
+    </Register>
+    <Register start="+0x64" size="2" name="TCC_PATTB" access="Read/Write" description="Pattern Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PGEB0" description="Pattern Generator 0 Output Enable Buffer" />
+      <BitField start="1" size="1" name="PGEB1" description="Pattern Generator 1 Output Enable Buffer" />
+      <BitField start="2" size="1" name="PGEB2" description="Pattern Generator 2 Output Enable Buffer" />
+      <BitField start="3" size="1" name="PGEB3" description="Pattern Generator 3 Output Enable Buffer" />
+      <BitField start="4" size="1" name="PGEB4" description="Pattern Generator 4 Output Enable Buffer" />
+      <BitField start="5" size="1" name="PGEB5" description="Pattern Generator 5 Output Enable Buffer" />
+      <BitField start="6" size="1" name="PGEB6" description="Pattern Generator 6 Output Enable Buffer" />
+      <BitField start="7" size="1" name="PGEB7" description="Pattern Generator 7 Output Enable Buffer" />
+      <BitField start="8" size="1" name="PGVB0" description="Pattern Generator 0 Output Enable" />
+      <BitField start="9" size="1" name="PGVB1" description="Pattern Generator 1 Output Enable" />
+      <BitField start="10" size="1" name="PGVB2" description="Pattern Generator 2 Output Enable" />
+      <BitField start="11" size="1" name="PGVB3" description="Pattern Generator 3 Output Enable" />
+      <BitField start="12" size="1" name="PGVB4" description="Pattern Generator 4 Output Enable" />
+      <BitField start="13" size="1" name="PGVB5" description="Pattern Generator 5 Output Enable" />
+      <BitField start="14" size="1" name="PGVB6" description="Pattern Generator 6 Output Enable" />
+      <BitField start="15" size="1" name="PGVB7" description="Pattern Generator 7 Output Enable" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH4" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH5" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH6" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERB" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="PERB" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERB_DITH4" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="PERB" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERB_DITH5" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="PERB" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERB_DITH6" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="PERB" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x30" size="4" name="TCC_STATUS" access="Read/Write" description="Status" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop" />
+      <BitField start="1" size="1" name="IDX" description="Ramp" />
+      <BitField start="3" size="1" name="DFS" description="Non-Recoverable Debug Fault State" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="5" size="1" name="PATTBV" description="Pattern Buffer Valid" />
+      <BitField start="6" size="1" name="WAVEBV" description="Wave Buffer Valid" />
+      <BitField start="7" size="1" name="PERBV" description="Period Buffer Valid" />
+      <BitField start="8" size="1" name="FAULTAIN" description="Recoverable Fault A Input" />
+      <BitField start="9" size="1" name="FAULTBIN" description="Recoverable Fault B Input" />
+      <BitField start="10" size="1" name="FAULT0IN" description="Non-Recoverable Fault0 Input" />
+      <BitField start="11" size="1" name="FAULT1IN" description="Non-Recoverable Fault1 Input" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A State" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B State" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 State" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 State" />
+      <BitField start="16" size="1" name="CCBV0" description="Compare Channel 0 Buffer Valid" />
+      <BitField start="17" size="1" name="CCBV1" description="Compare Channel 1 Buffer Valid" />
+      <BitField start="18" size="1" name="CCBV2" description="Compare Channel 2 Buffer Valid" />
+      <BitField start="19" size="1" name="CCBV3" description="Compare Channel 3 Buffer Valid" />
+      <BitField start="24" size="1" name="CMP0" description="Compare Channel 0 Value" />
+      <BitField start="25" size="1" name="CMP1" description="Compare Channel 1 Value" />
+      <BitField start="26" size="1" name="CMP2" description="Compare Channel 2 Value" />
+      <BitField start="27" size="1" name="CMP3" description="Compare Channel 3 Value" />
+    </Register>
+    <Register start="+0x08" size="4" name="TCC_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Swrst Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="Ctrlb Busy" />
+      <BitField start="3" size="1" name="STATUS" description="Status Busy" />
+      <BitField start="4" size="1" name="COUNT" description="Count Busy" />
+      <BitField start="5" size="1" name="PATT" description="Pattern Busy" />
+      <BitField start="6" size="1" name="WAVE" description="Wave Busy" />
+      <BitField start="7" size="1" name="PER" description="Period busy" />
+      <BitField start="8" size="1" name="CC0" description="Compare Channel 0 Busy" />
+      <BitField start="9" size="1" name="CC1" description="Compare Channel 1 Busy" />
+      <BitField start="10" size="1" name="CC2" description="Compare Channel 2 Busy" />
+      <BitField start="11" size="1" name="CC3" description="Compare Channel 3 Busy" />
+      <BitField start="16" size="1" name="PATTB" description="Pattern Buffer Busy" />
+      <BitField start="17" size="1" name="WAVEB" description="Wave Buffer Busy" />
+      <BitField start="18" size="1" name="PERB" description="Period Buffer Busy" />
+      <BitField start="19" size="1" name="CCB0" description="Compare Channel Buffer 0 Busy" />
+      <BitField start="20" size="1" name="CCB1" description="Compare Channel Buffer 1 Busy" />
+      <BitField start="21" size="1" name="CCB2" description="Compare Channel Buffer 2 Busy" />
+      <BitField start="22" size="1" name="CCB3" description="Compare Channel Buffer 3 Busy" />
+    </Register>
+    <Register start="+0x3C" size="4" name="TCC_WAVE" access="Read/Write" description="Waveform Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="WAVEGEN" description="Waveform Generation">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="DSCRITICAL" start="0x4" description="Dual-slope critical" />
+        <Enum name="DSBOTTOM" start="0x5" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO" />
+        <Enum name="DSBOTH" start="0x6" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP" />
+        <Enum name="DSTOP" start="0x7" description="Dual-slope with interrupt/event condition when COUNT reaches TOP" />
+      </BitField>
+      <BitField start="4" size="2" name="RAMP" description="Ramp Mode">
+        <Enum name="RAMP1" start="0x0" description="RAMP1 operation" />
+        <Enum name="RAMP2A" start="0x1" description="Alternative RAMP2 operation" />
+        <Enum name="RAMP2" start="0x2" description="RAMP2 operation" />
+      </BitField>
+      <BitField start="7" size="1" name="CIPEREN" description="Circular period Enable" />
+      <BitField start="8" size="1" name="CICCEN0" description="Circular Channel 0 Enable" />
+      <BitField start="9" size="1" name="CICCEN1" description="Circular Channel 1 Enable" />
+      <BitField start="10" size="1" name="CICCEN2" description="Circular Channel 2 Enable" />
+      <BitField start="11" size="1" name="CICCEN3" description="Circular Channel 3 Enable" />
+      <BitField start="16" size="1" name="POL0" description="Channel 0 Polarity" />
+      <BitField start="17" size="1" name="POL1" description="Channel 1 Polarity" />
+      <BitField start="18" size="1" name="POL2" description="Channel 2 Polarity" />
+      <BitField start="19" size="1" name="POL3" description="Channel 3 Polarity" />
+      <BitField start="24" size="1" name="SWAP0" description="Swap DTI Output Pair 0" />
+      <BitField start="25" size="1" name="SWAP1" description="Swap DTI Output Pair 1" />
+      <BitField start="26" size="1" name="SWAP2" description="Swap DTI Output Pair 2" />
+      <BitField start="27" size="1" name="SWAP3" description="Swap DTI Output Pair 3" />
+    </Register>
+    <Register start="+0x68" size="4" name="TCC_WAVEB" access="Read/Write" description="Waveform Control Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="WAVEGENB" description="Waveform Generation Buffer">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="DSCRITICAL" start="0x4" description="Dual-slope critical" />
+        <Enum name="DSBOTTOM" start="0x5" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO" />
+        <Enum name="DSBOTH" start="0x6" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP" />
+        <Enum name="DSTOP" start="0x7" description="Dual-slope with interrupt/event condition when COUNT reaches TOP" />
+      </BitField>
+      <BitField start="4" size="2" name="RAMPB" description="Ramp Mode Buffer">
+        <Enum name="RAMP1" start="0x0" description="RAMP1 operation" />
+        <Enum name="RAMP2A" start="0x1" description="Alternative RAMP2 operation" />
+        <Enum name="RAMP2" start="0x2" description="RAMP2 operation" />
+      </BitField>
+      <BitField start="7" size="1" name="CIPERENB" description="Circular Period Enable Buffer" />
+      <BitField start="8" size="1" name="CICCENB0" description="Circular Channel 0 Enable Buffer" />
+      <BitField start="9" size="1" name="CICCENB1" description="Circular Channel 1 Enable Buffer" />
+      <BitField start="10" size="1" name="CICCENB2" description="Circular Channel 2 Enable Buffer" />
+      <BitField start="11" size="1" name="CICCENB3" description="Circular Channel 3 Enable Buffer" />
+      <BitField start="16" size="1" name="POLB0" description="Channel 0 Polarity Buffer" />
+      <BitField start="17" size="1" name="POLB1" description="Channel 1 Polarity Buffer" />
+      <BitField start="18" size="1" name="POLB2" description="Channel 2 Polarity Buffer" />
+      <BitField start="19" size="1" name="POLB3" description="Channel 3 Polarity Buffer" />
+      <BitField start="24" size="1" name="SWAPB0" description="Swap DTI Output Pair 0 Buffer" />
+      <BitField start="25" size="1" name="SWAPB1" description="Swap DTI Output Pair 1 Buffer" />
+      <BitField start="26" size="1" name="SWAPB2" description="Swap DTI Output Pair 2 Buffer" />
+      <BitField start="27" size="1" name="SWAPB3" description="Swap DTI Output Pair 3 Buffer" />
+    </Register>
+    <Register start="+0x14" size="4" name="TCC_WEXCTRL" access="Read/Write" description="Waveform Extension Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="OTMX" description="Output Matrix" />
+      <BitField start="8" size="1" name="DTIEN0" description="Dead-time Insertion Generator 0 Enable" />
+      <BitField start="9" size="1" name="DTIEN1" description="Dead-time Insertion Generator 1 Enable" />
+      <BitField start="10" size="1" name="DTIEN2" description="Dead-time Insertion Generator 2 Enable" />
+      <BitField start="11" size="1" name="DTIEN3" description="Dead-time Insertion Generator 3 Enable" />
+      <BitField start="16" size="8" name="DTLS" description="Dead-time Low Side Outputs Value" />
+      <BitField start="24" size="8" name="DTHS" description="Dead-time High Side Outputs Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TCC2" start="0x42002800" description="Timer Counter Control 2">
+    <Register start="+0x44+0" size="4" name="TCC_CC0" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCB0" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCB1" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCB2" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCB3" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCB0_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCB1_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCB2_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCB3_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCB0_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCB1_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCB2_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCB3_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCB0_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCB1_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCB2_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCB3_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCB" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH4" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="4" size="20" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH5" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="5" size="19" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH6" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="6" size="18" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x00" size="4" name="TCC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="5" size="2" name="RESOLUTION" description="Enhanced Resolution">
+        <Enum name="NONE" start="0x0" description="Dithering is disabled" />
+        <Enum name="DITH4" start="0x1" description="Dithering is done every 16 PWM frames" />
+        <Enum name="DITH5" start="0x2" description="Dithering is done every 32 PWM frames" />
+        <Enum name="DITH6" start="0x3" description="Dithering is done every 64 PWM frames" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="No division" />
+        <Enum name="DIV2" start="0x1" description="Divide by 2" />
+        <Enum name="DIV4" start="0x2" description="Divide by 4" />
+        <Enum name="DIV8" start="0x3" description="Divide by 8" />
+        <Enum name="DIV16" start="0x4" description="Divide by 16" />
+        <Enum name="DIV64" start="0x5" description="Divide by 64" />
+        <Enum name="DIV256" start="0x6" description="Divide by 256" />
+        <Enum name="DIV1024" start="0x7" description="Divide by 1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization Selection">
+        <Enum name="GCLK" start="0x0" description="Reload or reset counter on next GCLK" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset counter on next GCLK and reset prescaler counter" />
+      </BitField>
+      <BitField start="14" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="24" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="25" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="26" size="1" name="CPTEN2" description="Capture Channel 2 Enable" />
+      <BitField start="27" size="1" name="CPTEN3" description="Capture Channel 3 Enable" />
+    </Register>
+    <Register start="+0x04" size="1" name="TCC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="3" size="2" name="IDXCMD" description="Ramp Index Command">
+        <Enum name="DISABLE" start="0x0" description="Command disabled: Index toggles between cycles A and B" />
+        <Enum name="SET" start="0x1" description="Set index: cycle B will be forced in the next cycle" />
+        <Enum name="CLEAR" start="0x2" description="Clear index: cycle A will be forced in the next cycle" />
+        <Enum name="HOLD" start="0x3" description="Hold index: the next cycle will be the same as the current cycle" />
+      </BitField>
+      <BitField start="5" size="3" name="CMD" description="TCC Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Clear start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double buffered registers" />
+        <Enum name="READSYNC" start="0x4" description="Force COUNT read synchronization" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TCC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="3" size="2" name="IDXCMD" description="Ramp Index Command">
+        <Enum name="DISABLE" start="0x0" description="Command disabled: Index toggles between cycles A and B" />
+        <Enum name="SET" start="0x1" description="Set index: cycle B will be forced in the next cycle" />
+        <Enum name="CLEAR" start="0x2" description="Clear index: cycle A will be forced in the next cycle" />
+        <Enum name="HOLD" start="0x3" description="Hold index: the next cycle will be the same as the current cycle" />
+      </BitField>
+      <BitField start="5" size="3" name="CMD" description="TCC Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Clear start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double buffered registers" />
+        <Enum name="READSYNC" start="0x4" description="Force COUNT read synchronization" />
+      </BitField>
+    </Register>
+    <Register start="+0x1E" size="1" name="TCC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Running Mode" />
+      <BitField start="2" size="1" name="FDDBD" description="Fault Detection on Debug Break Detection" />
+    </Register>
+    <Register start="+0x18" size="4" name="TCC_DRVCTRL" access="Read/Write" description="Driver Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="NRE0" description="Non-Recoverable State 0 Output Enable" />
+      <BitField start="1" size="1" name="NRE1" description="Non-Recoverable State 1 Output Enable" />
+      <BitField start="2" size="1" name="NRE2" description="Non-Recoverable State 2 Output Enable" />
+      <BitField start="3" size="1" name="NRE3" description="Non-Recoverable State 3 Output Enable" />
+      <BitField start="4" size="1" name="NRE4" description="Non-Recoverable State 4 Output Enable" />
+      <BitField start="5" size="1" name="NRE5" description="Non-Recoverable State 5 Output Enable" />
+      <BitField start="6" size="1" name="NRE6" description="Non-Recoverable State 6 Output Enable" />
+      <BitField start="7" size="1" name="NRE7" description="Non-Recoverable State 7 Output Enable" />
+      <BitField start="8" size="1" name="NRV0" description="Non-Recoverable State 0 Output Value" />
+      <BitField start="9" size="1" name="NRV1" description="Non-Recoverable State 1 Output Value" />
+      <BitField start="10" size="1" name="NRV2" description="Non-Recoverable State 2 Output Value" />
+      <BitField start="11" size="1" name="NRV3" description="Non-Recoverable State 3 Output Value" />
+      <BitField start="12" size="1" name="NRV4" description="Non-Recoverable State 4 Output Value" />
+      <BitField start="13" size="1" name="NRV5" description="Non-Recoverable State 5 Output Value" />
+      <BitField start="14" size="1" name="NRV6" description="Non-Recoverable State 6 Output Value" />
+      <BitField start="15" size="1" name="NRV7" description="Non-Recoverable State 7 Output Value" />
+      <BitField start="16" size="1" name="INVEN0" description="Output Waveform 0 Inversion" />
+      <BitField start="17" size="1" name="INVEN1" description="Output Waveform 1 Inversion" />
+      <BitField start="18" size="1" name="INVEN2" description="Output Waveform 2 Inversion" />
+      <BitField start="19" size="1" name="INVEN3" description="Output Waveform 3 Inversion" />
+      <BitField start="20" size="1" name="INVEN4" description="Output Waveform 4 Inversion" />
+      <BitField start="21" size="1" name="INVEN5" description="Output Waveform 5 Inversion" />
+      <BitField start="22" size="1" name="INVEN6" description="Output Waveform 6 Inversion" />
+      <BitField start="23" size="1" name="INVEN7" description="Output Waveform 7 Inversion" />
+      <BitField start="24" size="4" name="FILTERVAL0" description="Non-Recoverable Fault Input 0 Filter Value" />
+      <BitField start="28" size="4" name="FILTERVAL1" description="Non-Recoverable Fault Input 1 Filter Value" />
+    </Register>
+    <Register start="+0x20" size="4" name="TCC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT0" description="Timer/counter Input Event0 Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or re-trigger counter on event" />
+        <Enum name="COUNTEV" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start counter on event" />
+        <Enum name="INC" start="0x4" description="Increment counter on event" />
+        <Enum name="COUNT" start="0x5" description="Count on active state of asynchronous event" />
+        <Enum name="FAULT" start="0x7" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="3" size="3" name="EVACT1" description="Timer/counter Input Event1 Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Re-trigger counter on event" />
+        <Enum name="DIR" start="0x2" description="Direction control" />
+        <Enum name="STOP" start="0x3" description="Stop counter on event" />
+        <Enum name="DEC" start="0x4" description="Decrement counter on event" />
+        <Enum name="PPW" start="0x5" description="Period capture value in CC0 register, pulse width capture value in CC1 register" />
+        <Enum name="PWP" start="0x6" description="Period capture value in CC1 register, pulse width capture value in CC0 register" />
+        <Enum name="FAULT" start="0x7" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="6" size="2" name="CNTSEL" description="Timer/counter Output Event Mode">
+        <Enum name="START" start="0x0" description="An interrupt/event is generated when a new counter cycle starts" />
+        <Enum name="END" start="0x1" description="An interrupt/event is generated when a counter cycle ends" />
+        <Enum name="BETWEEN" start="0x2" description="An interrupt/event is generated when a counter cycle ends, except for the first and last cycles" />
+        <Enum name="BOUNDARY" start="0x3" description="An interrupt/event is generated when a new counter cycle starts or a counter cycle ends" />
+      </BitField>
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Output Event Enable" />
+      <BitField start="9" size="1" name="TRGEO" description="Retrigger Output Event Enable" />
+      <BitField start="10" size="1" name="CNTEO" description="Timer/counter Output Event Enable" />
+      <BitField start="12" size="1" name="TCINV0" description="Inverted Event 0 Input Enable" />
+      <BitField start="13" size="1" name="TCINV1" description="Inverted Event 1 Input Enable" />
+      <BitField start="14" size="1" name="TCEI0" description="Timer/counter Event 0 Input Enable" />
+      <BitField start="15" size="1" name="TCEI1" description="Timer/counter Event 1 Input Enable" />
+      <BitField start="16" size="1" name="MCEI0" description="Match or Capture Channel 0 Event Input Enable" />
+      <BitField start="17" size="1" name="MCEI1" description="Match or Capture Channel 1 Event Input Enable" />
+      <BitField start="18" size="1" name="MCEI2" description="Match or Capture Channel 2 Event Input Enable" />
+      <BitField start="19" size="1" name="MCEI3" description="Match or Capture Channel 3 Event Input Enable" />
+      <BitField start="24" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="25" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+      <BitField start="26" size="1" name="MCEO2" description="Match or Capture Channel 2 Event Output Enable" />
+      <BitField start="27" size="1" name="MCEO3" description="Match or Capture Channel 3 Event Output Enable" />
+    </Register>
+    <Register start="+0x0C" size="4" name="TCC_FCTRLA" access="Read/Write" description="Recoverable Fault A Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SRC" description="Fault A Source">
+        <Enum name="DISABLE" start="0x0" description="Fault input disabled" />
+        <Enum name="ENABLE" start="0x1" description="MCEx (x=0,1) event input" />
+        <Enum name="INVERT" start="0x2" description="Inverted MCEx (x=0,1) event input" />
+        <Enum name="ALTFAULT" start="0x3" description="Alternate fault (A or B) state at the end of the previous period" />
+      </BitField>
+      <BitField start="3" size="1" name="KEEP" description="Fault A Keeper" />
+      <BitField start="4" size="1" name="QUAL" description="Fault A Qualification" />
+      <BitField start="5" size="2" name="BLANK" description="Fault A Blanking Mode">
+        <Enum name="NONE" start="0x0" description="No blanking applied" />
+        <Enum name="RISE" start="0x1" description="Blanking applied from rising edge of the output waveform" />
+        <Enum name="FALL" start="0x2" description="Blanking applied from falling edge of the output waveform" />
+        <Enum name="BOTH" start="0x3" description="Blanking applied from each toggle of the output waveform" />
+      </BitField>
+      <BitField start="7" size="1" name="RESTART" description="Fault A Restart" />
+      <BitField start="8" size="2" name="HALT" description="Fault A Halt Mode">
+        <Enum name="DISABLE" start="0x0" description="Halt action disabled" />
+        <Enum name="HW" start="0x1" description="Hardware halt action" />
+        <Enum name="SW" start="0x2" description="Software halt action" />
+        <Enum name="NR" start="0x3" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="10" size="2" name="CHSEL" description="Fault A Capture Channel">
+        <Enum name="CC0" start="0x0" description="Capture value stored in channel 0" />
+        <Enum name="CC1" start="0x1" description="Capture value stored in channel 1" />
+        <Enum name="CC2" start="0x2" description="Capture value stored in channel 2" />
+        <Enum name="CC3" start="0x3" description="Capture value stored in channel 3" />
+      </BitField>
+      <BitField start="12" size="3" name="CAPTURE" description="Fault A Capture Action">
+        <Enum name="DISABLE" start="0x0" description="No capture" />
+        <Enum name="CAPT" start="0x1" description="Capture on fault" />
+        <Enum name="CAPTMIN" start="0x2" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x3" description="Maximum capture" />
+        <Enum name="LOCMIN" start="0x4" description="Minimum local detection" />
+        <Enum name="LOCMAX" start="0x5" description="Maximum local detection" />
+        <Enum name="DERIV0" start="0x6" description="Minimum and maximum local detection" />
+      </BitField>
+      <BitField start="16" size="8" name="BLANKVAL" description="Fault A Blanking Time" />
+      <BitField start="24" size="4" name="FILTERVAL" description="Fault A Filter Value" />
+    </Register>
+    <Register start="+0x10" size="4" name="TCC_FCTRLB" access="Read/Write" description="Recoverable Fault B Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SRC" description="Fault B Source">
+        <Enum name="DISABLE" start="0x0" description="Fault input disabled" />
+        <Enum name="ENABLE" start="0x1" description="MCEx (x=0,1) event input" />
+        <Enum name="INVERT" start="0x2" description="Inverted MCEx (x=0,1) event input" />
+        <Enum name="ALTFAULT" start="0x3" description="Alternate fault (A or B) state at the end of the previous period" />
+      </BitField>
+      <BitField start="3" size="1" name="KEEP" description="Fault B Keeper" />
+      <BitField start="4" size="1" name="QUAL" description="Fault B Qualification" />
+      <BitField start="5" size="2" name="BLANK" description="Fault B Blanking Mode">
+        <Enum name="NONE" start="0x0" description="No blanking applied" />
+        <Enum name="RISE" start="0x1" description="Blanking applied from rising edge of the output waveform" />
+        <Enum name="FALL" start="0x2" description="Blanking applied from falling edge of the output waveform" />
+        <Enum name="BOTH" start="0x3" description="Blanking applied from each toggle of the output waveform" />
+      </BitField>
+      <BitField start="7" size="1" name="RESTART" description="Fault B Restart" />
+      <BitField start="8" size="2" name="HALT" description="Fault B Halt Mode">
+        <Enum name="DISABLE" start="0x0" description="Halt action disabled" />
+        <Enum name="HW" start="0x1" description="Hardware halt action" />
+        <Enum name="SW" start="0x2" description="Software halt action" />
+        <Enum name="NR" start="0x3" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="10" size="2" name="CHSEL" description="Fault B Capture Channel">
+        <Enum name="CC0" start="0x0" description="Capture value stored in channel 0" />
+        <Enum name="CC1" start="0x1" description="Capture value stored in channel 1" />
+        <Enum name="CC2" start="0x2" description="Capture value stored in channel 2" />
+        <Enum name="CC3" start="0x3" description="Capture value stored in channel 3" />
+      </BitField>
+      <BitField start="12" size="3" name="CAPTURE" description="Fault B Capture Action">
+        <Enum name="DISABLE" start="0x0" description="No capture" />
+        <Enum name="CAPT" start="0x1" description="Capture on fault" />
+        <Enum name="CAPTMIN" start="0x2" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x3" description="Maximum capture" />
+        <Enum name="LOCMIN" start="0x4" description="Minimum local detection" />
+        <Enum name="LOCMAX" start="0x5" description="Maximum local detection" />
+        <Enum name="DERIV0" start="0x6" description="Minimum and maximum local detection" />
+      </BitField>
+      <BitField start="16" size="8" name="BLANKVAL" description="Fault B Blanking Time" />
+      <BitField start="24" size="4" name="FILTERVAL" description="Fault B Filter Value" />
+    </Register>
+    <Register start="+0x24" size="4" name="TCC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger Interrupt Enable" />
+      <BitField start="2" size="1" name="CNT" description="Counter Interrupt Enable" />
+      <BitField start="3" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault Interrupt Enable" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A Interrupt Enable" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B Interrupt Enable" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 Interrupt Enable" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 Interrupt Enable" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture Channel 2 Interrupt Enable" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture Channel 3 Interrupt Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="TCC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger Interrupt Enable" />
+      <BitField start="2" size="1" name="CNT" description="Counter Interrupt Enable" />
+      <BitField start="3" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault Interrupt Enable" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A Interrupt Enable" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B Interrupt Enable" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 Interrupt Enable" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 Interrupt Enable" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture Channel 2 Interrupt Enable" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture Channel 3 Interrupt Enable" />
+    </Register>
+    <Register start="+0x2C" size="4" name="TCC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger" />
+      <BitField start="2" size="1" name="CNT" description="Counter" />
+      <BitField start="3" size="1" name="ERR" description="Error" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture 0" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture 1" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture 2" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture 3" />
+    </Register>
+    <Register start="+0x38" size="2" name="TCC_PATT" access="Read/Write" description="Pattern" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PGE0" description="Pattern Generator 0 Output Enable" />
+      <BitField start="1" size="1" name="PGE1" description="Pattern Generator 1 Output Enable" />
+      <BitField start="2" size="1" name="PGE2" description="Pattern Generator 2 Output Enable" />
+      <BitField start="3" size="1" name="PGE3" description="Pattern Generator 3 Output Enable" />
+      <BitField start="4" size="1" name="PGE4" description="Pattern Generator 4 Output Enable" />
+      <BitField start="5" size="1" name="PGE5" description="Pattern Generator 5 Output Enable" />
+      <BitField start="6" size="1" name="PGE6" description="Pattern Generator 6 Output Enable" />
+      <BitField start="7" size="1" name="PGE7" description="Pattern Generator 7 Output Enable" />
+      <BitField start="8" size="1" name="PGV0" description="Pattern Generator 0 Output Value" />
+      <BitField start="9" size="1" name="PGV1" description="Pattern Generator 1 Output Value" />
+      <BitField start="10" size="1" name="PGV2" description="Pattern Generator 2 Output Value" />
+      <BitField start="11" size="1" name="PGV3" description="Pattern Generator 3 Output Value" />
+      <BitField start="12" size="1" name="PGV4" description="Pattern Generator 4 Output Value" />
+      <BitField start="13" size="1" name="PGV5" description="Pattern Generator 5 Output Value" />
+      <BitField start="14" size="1" name="PGV6" description="Pattern Generator 6 Output Value" />
+      <BitField start="15" size="1" name="PGV7" description="Pattern Generator 7 Output Value" />
+    </Register>
+    <Register start="+0x64" size="2" name="TCC_PATTB" access="Read/Write" description="Pattern Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PGEB0" description="Pattern Generator 0 Output Enable Buffer" />
+      <BitField start="1" size="1" name="PGEB1" description="Pattern Generator 1 Output Enable Buffer" />
+      <BitField start="2" size="1" name="PGEB2" description="Pattern Generator 2 Output Enable Buffer" />
+      <BitField start="3" size="1" name="PGEB3" description="Pattern Generator 3 Output Enable Buffer" />
+      <BitField start="4" size="1" name="PGEB4" description="Pattern Generator 4 Output Enable Buffer" />
+      <BitField start="5" size="1" name="PGEB5" description="Pattern Generator 5 Output Enable Buffer" />
+      <BitField start="6" size="1" name="PGEB6" description="Pattern Generator 6 Output Enable Buffer" />
+      <BitField start="7" size="1" name="PGEB7" description="Pattern Generator 7 Output Enable Buffer" />
+      <BitField start="8" size="1" name="PGVB0" description="Pattern Generator 0 Output Enable" />
+      <BitField start="9" size="1" name="PGVB1" description="Pattern Generator 1 Output Enable" />
+      <BitField start="10" size="1" name="PGVB2" description="Pattern Generator 2 Output Enable" />
+      <BitField start="11" size="1" name="PGVB3" description="Pattern Generator 3 Output Enable" />
+      <BitField start="12" size="1" name="PGVB4" description="Pattern Generator 4 Output Enable" />
+      <BitField start="13" size="1" name="PGVB5" description="Pattern Generator 5 Output Enable" />
+      <BitField start="14" size="1" name="PGVB6" description="Pattern Generator 6 Output Enable" />
+      <BitField start="15" size="1" name="PGVB7" description="Pattern Generator 7 Output Enable" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH4" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH5" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH6" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCY" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERB" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="PERB" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERB_DITH4" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="PERB" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERB_DITH5" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="PERB" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERB_DITH6" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERCYB" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="PERB" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x30" size="4" name="TCC_STATUS" access="Read/Write" description="Status" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop" />
+      <BitField start="1" size="1" name="IDX" description="Ramp" />
+      <BitField start="3" size="1" name="DFS" description="Non-Recoverable Debug Fault State" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="5" size="1" name="PATTBV" description="Pattern Buffer Valid" />
+      <BitField start="6" size="1" name="WAVEBV" description="Wave Buffer Valid" />
+      <BitField start="7" size="1" name="PERBV" description="Period Buffer Valid" />
+      <BitField start="8" size="1" name="FAULTAIN" description="Recoverable Fault A Input" />
+      <BitField start="9" size="1" name="FAULTBIN" description="Recoverable Fault B Input" />
+      <BitField start="10" size="1" name="FAULT0IN" description="Non-Recoverable Fault0 Input" />
+      <BitField start="11" size="1" name="FAULT1IN" description="Non-Recoverable Fault1 Input" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A State" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B State" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 State" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 State" />
+      <BitField start="16" size="1" name="CCBV0" description="Compare Channel 0 Buffer Valid" />
+      <BitField start="17" size="1" name="CCBV1" description="Compare Channel 1 Buffer Valid" />
+      <BitField start="18" size="1" name="CCBV2" description="Compare Channel 2 Buffer Valid" />
+      <BitField start="19" size="1" name="CCBV3" description="Compare Channel 3 Buffer Valid" />
+      <BitField start="24" size="1" name="CMP0" description="Compare Channel 0 Value" />
+      <BitField start="25" size="1" name="CMP1" description="Compare Channel 1 Value" />
+      <BitField start="26" size="1" name="CMP2" description="Compare Channel 2 Value" />
+      <BitField start="27" size="1" name="CMP3" description="Compare Channel 3 Value" />
+    </Register>
+    <Register start="+0x08" size="4" name="TCC_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Swrst Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="Ctrlb Busy" />
+      <BitField start="3" size="1" name="STATUS" description="Status Busy" />
+      <BitField start="4" size="1" name="COUNT" description="Count Busy" />
+      <BitField start="5" size="1" name="PATT" description="Pattern Busy" />
+      <BitField start="6" size="1" name="WAVE" description="Wave Busy" />
+      <BitField start="7" size="1" name="PER" description="Period busy" />
+      <BitField start="8" size="1" name="CC0" description="Compare Channel 0 Busy" />
+      <BitField start="9" size="1" name="CC1" description="Compare Channel 1 Busy" />
+      <BitField start="10" size="1" name="CC2" description="Compare Channel 2 Busy" />
+      <BitField start="11" size="1" name="CC3" description="Compare Channel 3 Busy" />
+      <BitField start="16" size="1" name="PATTB" description="Pattern Buffer Busy" />
+      <BitField start="17" size="1" name="WAVEB" description="Wave Buffer Busy" />
+      <BitField start="18" size="1" name="PERB" description="Period Buffer Busy" />
+      <BitField start="19" size="1" name="CCB0" description="Compare Channel Buffer 0 Busy" />
+      <BitField start="20" size="1" name="CCB1" description="Compare Channel Buffer 1 Busy" />
+      <BitField start="21" size="1" name="CCB2" description="Compare Channel Buffer 2 Busy" />
+      <BitField start="22" size="1" name="CCB3" description="Compare Channel Buffer 3 Busy" />
+    </Register>
+    <Register start="+0x3C" size="4" name="TCC_WAVE" access="Read/Write" description="Waveform Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="WAVEGEN" description="Waveform Generation">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="DSCRITICAL" start="0x4" description="Dual-slope critical" />
+        <Enum name="DSBOTTOM" start="0x5" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO" />
+        <Enum name="DSBOTH" start="0x6" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP" />
+        <Enum name="DSTOP" start="0x7" description="Dual-slope with interrupt/event condition when COUNT reaches TOP" />
+      </BitField>
+      <BitField start="4" size="2" name="RAMP" description="Ramp Mode">
+        <Enum name="RAMP1" start="0x0" description="RAMP1 operation" />
+        <Enum name="RAMP2A" start="0x1" description="Alternative RAMP2 operation" />
+        <Enum name="RAMP2" start="0x2" description="RAMP2 operation" />
+      </BitField>
+      <BitField start="7" size="1" name="CIPEREN" description="Circular period Enable" />
+      <BitField start="8" size="1" name="CICCEN0" description="Circular Channel 0 Enable" />
+      <BitField start="9" size="1" name="CICCEN1" description="Circular Channel 1 Enable" />
+      <BitField start="10" size="1" name="CICCEN2" description="Circular Channel 2 Enable" />
+      <BitField start="11" size="1" name="CICCEN3" description="Circular Channel 3 Enable" />
+      <BitField start="16" size="1" name="POL0" description="Channel 0 Polarity" />
+      <BitField start="17" size="1" name="POL1" description="Channel 1 Polarity" />
+      <BitField start="18" size="1" name="POL2" description="Channel 2 Polarity" />
+      <BitField start="19" size="1" name="POL3" description="Channel 3 Polarity" />
+      <BitField start="24" size="1" name="SWAP0" description="Swap DTI Output Pair 0" />
+      <BitField start="25" size="1" name="SWAP1" description="Swap DTI Output Pair 1" />
+      <BitField start="26" size="1" name="SWAP2" description="Swap DTI Output Pair 2" />
+      <BitField start="27" size="1" name="SWAP3" description="Swap DTI Output Pair 3" />
+    </Register>
+    <Register start="+0x68" size="4" name="TCC_WAVEB" access="Read/Write" description="Waveform Control Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="WAVEGENB" description="Waveform Generation Buffer">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="DSCRITICAL" start="0x4" description="Dual-slope critical" />
+        <Enum name="DSBOTTOM" start="0x5" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO" />
+        <Enum name="DSBOTH" start="0x6" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP" />
+        <Enum name="DSTOP" start="0x7" description="Dual-slope with interrupt/event condition when COUNT reaches TOP" />
+      </BitField>
+      <BitField start="4" size="2" name="RAMPB" description="Ramp Mode Buffer">
+        <Enum name="RAMP1" start="0x0" description="RAMP1 operation" />
+        <Enum name="RAMP2A" start="0x1" description="Alternative RAMP2 operation" />
+        <Enum name="RAMP2" start="0x2" description="RAMP2 operation" />
+      </BitField>
+      <BitField start="7" size="1" name="CIPERENB" description="Circular Period Enable Buffer" />
+      <BitField start="8" size="1" name="CICCENB0" description="Circular Channel 0 Enable Buffer" />
+      <BitField start="9" size="1" name="CICCENB1" description="Circular Channel 1 Enable Buffer" />
+      <BitField start="10" size="1" name="CICCENB2" description="Circular Channel 2 Enable Buffer" />
+      <BitField start="11" size="1" name="CICCENB3" description="Circular Channel 3 Enable Buffer" />
+      <BitField start="16" size="1" name="POLB0" description="Channel 0 Polarity Buffer" />
+      <BitField start="17" size="1" name="POLB1" description="Channel 1 Polarity Buffer" />
+      <BitField start="18" size="1" name="POLB2" description="Channel 2 Polarity Buffer" />
+      <BitField start="19" size="1" name="POLB3" description="Channel 3 Polarity Buffer" />
+      <BitField start="24" size="1" name="SWAPB0" description="Swap DTI Output Pair 0 Buffer" />
+      <BitField start="25" size="1" name="SWAPB1" description="Swap DTI Output Pair 1 Buffer" />
+      <BitField start="26" size="1" name="SWAPB2" description="Swap DTI Output Pair 2 Buffer" />
+      <BitField start="27" size="1" name="SWAPB3" description="Swap DTI Output Pair 3 Buffer" />
+    </Register>
+    <Register start="+0x14" size="4" name="TCC_WEXCTRL" access="Read/Write" description="Waveform Extension Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="OTMX" description="Output Matrix" />
+      <BitField start="8" size="1" name="DTIEN0" description="Dead-time Insertion Generator 0 Enable" />
+      <BitField start="9" size="1" name="DTIEN1" description="Dead-time Insertion Generator 1 Enable" />
+      <BitField start="10" size="1" name="DTIEN2" description="Dead-time Insertion Generator 2 Enable" />
+      <BitField start="11" size="1" name="DTIEN3" description="Dead-time Insertion Generator 3 Enable" />
+      <BitField start="16" size="8" name="DTLS" description="Dead-time Low Side Outputs Value" />
+      <BitField start="24" size="8" name="DTHS" description="Dead-time High Side Outputs Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="USB (DEVICE)" start="0x41005000" description="Universal Serial Bus">
+    <Register start="+0x000" size="1" name="USB_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="1" name="RUNSTDBY" description="Run in Standby Mode" />
+      <BitField start="7" size="1" name="MODE" description="Operating Mode">
+        <Enum name="DEVICE" start="0x0" description="Device Mode" />
+        <Enum name="HOST" start="0x1" description="Host Mode" />
+      </BitField>
+    </Register>
+    <Register start="+0x008" size="2" name="USB_CTRLB" access="Read/Write" description="DEVICE Control B" reset_value="0x0001" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DETACH" description="Detach" />
+      <BitField start="1" size="1" name="UPRSM" description="Upstream Resume" />
+      <BitField start="2" size="2" name="SPDCONF" description="Speed Configuration">
+        <Enum name="FS" start="0x0" description="FS : Full Speed" />
+        <Enum name="LS" start="0x1" description="LS : Low Speed" />
+        <Enum name="HS" start="0x2" description="HS : High Speed capable" />
+        <Enum name="HSTM" start="0x3" description="HSTM: High Speed Test Mode (force high-speed mode for test mode)" />
+      </BitField>
+      <BitField start="4" size="1" name="NREPLY" description="No Reply" />
+      <BitField start="5" size="1" name="TSTJ" description="Test mode J" />
+      <BitField start="6" size="1" name="TSTK" description="Test mode K" />
+      <BitField start="7" size="1" name="TSTPCKT" description="Test packet mode" />
+      <BitField start="8" size="1" name="OPMODE2" description="Specific Operational Mode" />
+      <BitField start="9" size="1" name="GNAK" description="Global NAK" />
+      <BitField start="10" size="2" name="LPMHDSK" description="Link Power Management Handshake">
+        <Enum name="NO" start="0x0" description="No handshake. LPM is not supported" />
+        <Enum name="ACK" start="0x1" description="ACK" />
+        <Enum name="NYET" start="0x2" description="NYET" />
+        <Enum name="STALL" start="0x3" description="STALL" />
+      </BitField>
+    </Register>
+    <Register start="+0x00A" size="1" name="USB_DADD" access="Read/Write" description="DEVICE Device Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="DADD" description="Device Address" />
+      <BitField start="7" size="1" name="ADDEN" description="Device Address Enable" />
+    </Register>
+    <Register start="+0x024" size="4" name="USB_DESCADD" access="Read/Write" description="Descriptor Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DESCADD" description="Descriptor Address Value" />
+    </Register>
+    <Register start="+0x100+0" size="1" name="USB_EPCFG0" access="Read/Write" description="DEVICE End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EPTYPE0" description="End Point Type0" />
+      <BitField start="4" size="3" name="EPTYPE1" description="End Point Type1" />
+      <BitField start="7" size="1" name="NYETDIS" description="NYET Token Disable" />
+    </Register>
+    <Register start="+0x100+32" size="1" name="USB_EPCFG1" access="Read/Write" description="DEVICE End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EPTYPE0" description="End Point Type0" />
+      <BitField start="4" size="3" name="EPTYPE1" description="End Point Type1" />
+      <BitField start="7" size="1" name="NYETDIS" description="NYET Token Disable" />
+    </Register>
+    <Register start="+0x100+64" size="1" name="USB_EPCFG2" access="Read/Write" description="DEVICE End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EPTYPE0" description="End Point Type0" />
+      <BitField start="4" size="3" name="EPTYPE1" description="End Point Type1" />
+      <BitField start="7" size="1" name="NYETDIS" description="NYET Token Disable" />
+    </Register>
+    <Register start="+0x100+96" size="1" name="USB_EPCFG3" access="Read/Write" description="DEVICE End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EPTYPE0" description="End Point Type0" />
+      <BitField start="4" size="3" name="EPTYPE1" description="End Point Type1" />
+      <BitField start="7" size="1" name="NYETDIS" description="NYET Token Disable" />
+    </Register>
+    <Register start="+0x100+128" size="1" name="USB_EPCFG4" access="Read/Write" description="DEVICE End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EPTYPE0" description="End Point Type0" />
+      <BitField start="4" size="3" name="EPTYPE1" description="End Point Type1" />
+      <BitField start="7" size="1" name="NYETDIS" description="NYET Token Disable" />
+    </Register>
+    <Register start="+0x100+160" size="1" name="USB_EPCFG5" access="Read/Write" description="DEVICE End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EPTYPE0" description="End Point Type0" />
+      <BitField start="4" size="3" name="EPTYPE1" description="End Point Type1" />
+      <BitField start="7" size="1" name="NYETDIS" description="NYET Token Disable" />
+    </Register>
+    <Register start="+0x100+192" size="1" name="USB_EPCFG6" access="Read/Write" description="DEVICE End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EPTYPE0" description="End Point Type0" />
+      <BitField start="4" size="3" name="EPTYPE1" description="End Point Type1" />
+      <BitField start="7" size="1" name="NYETDIS" description="NYET Token Disable" />
+    </Register>
+    <Register start="+0x100+224" size="1" name="USB_EPCFG7" access="Read/Write" description="DEVICE End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EPTYPE0" description="End Point Type0" />
+      <BitField start="4" size="3" name="EPTYPE1" description="End Point Type1" />
+      <BitField start="7" size="1" name="NYETDIS" description="NYET Token Disable" />
+    </Register>
+    <Register start="+0x108+0" size="1" name="USB_EPINTENCLR0" access="Read/Write" description="DEVICE End Point Interrupt Clear Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Disable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Disable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Disable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/Out Interrupt Disable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/Out Interrupt Disable" />
+    </Register>
+    <Register start="+0x108+32" size="1" name="USB_EPINTENCLR1" access="Read/Write" description="DEVICE End Point Interrupt Clear Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Disable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Disable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Disable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/Out Interrupt Disable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/Out Interrupt Disable" />
+    </Register>
+    <Register start="+0x108+64" size="1" name="USB_EPINTENCLR2" access="Read/Write" description="DEVICE End Point Interrupt Clear Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Disable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Disable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Disable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/Out Interrupt Disable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/Out Interrupt Disable" />
+    </Register>
+    <Register start="+0x108+96" size="1" name="USB_EPINTENCLR3" access="Read/Write" description="DEVICE End Point Interrupt Clear Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Disable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Disable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Disable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/Out Interrupt Disable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/Out Interrupt Disable" />
+    </Register>
+    <Register start="+0x108+128" size="1" name="USB_EPINTENCLR4" access="Read/Write" description="DEVICE End Point Interrupt Clear Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Disable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Disable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Disable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/Out Interrupt Disable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/Out Interrupt Disable" />
+    </Register>
+    <Register start="+0x108+160" size="1" name="USB_EPINTENCLR5" access="Read/Write" description="DEVICE End Point Interrupt Clear Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Disable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Disable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Disable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/Out Interrupt Disable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/Out Interrupt Disable" />
+    </Register>
+    <Register start="+0x108+192" size="1" name="USB_EPINTENCLR6" access="Read/Write" description="DEVICE End Point Interrupt Clear Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Disable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Disable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Disable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/Out Interrupt Disable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/Out Interrupt Disable" />
+    </Register>
+    <Register start="+0x108+224" size="1" name="USB_EPINTENCLR7" access="Read/Write" description="DEVICE End Point Interrupt Clear Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Disable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Disable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Disable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/Out Interrupt Disable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/Out Interrupt Disable" />
+    </Register>
+    <Register start="+0x109+0" size="1" name="USB_EPINTENSET0" access="Read/Write" description="DEVICE End Point Interrupt Set Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Enable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out Interrupt enable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out Interrupt enable" />
+    </Register>
+    <Register start="+0x109+32" size="1" name="USB_EPINTENSET1" access="Read/Write" description="DEVICE End Point Interrupt Set Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Enable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out Interrupt enable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out Interrupt enable" />
+    </Register>
+    <Register start="+0x109+64" size="1" name="USB_EPINTENSET2" access="Read/Write" description="DEVICE End Point Interrupt Set Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Enable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out Interrupt enable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out Interrupt enable" />
+    </Register>
+    <Register start="+0x109+96" size="1" name="USB_EPINTENSET3" access="Read/Write" description="DEVICE End Point Interrupt Set Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Enable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out Interrupt enable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out Interrupt enable" />
+    </Register>
+    <Register start="+0x109+128" size="1" name="USB_EPINTENSET4" access="Read/Write" description="DEVICE End Point Interrupt Set Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Enable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out Interrupt enable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out Interrupt enable" />
+    </Register>
+    <Register start="+0x109+160" size="1" name="USB_EPINTENSET5" access="Read/Write" description="DEVICE End Point Interrupt Set Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Enable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out Interrupt enable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out Interrupt enable" />
+    </Register>
+    <Register start="+0x109+192" size="1" name="USB_EPINTENSET6" access="Read/Write" description="DEVICE End Point Interrupt Set Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Enable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out Interrupt enable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out Interrupt enable" />
+    </Register>
+    <Register start="+0x109+224" size="1" name="USB_EPINTENSET7" access="Read/Write" description="DEVICE End Point Interrupt Set Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Enable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out Interrupt enable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out Interrupt enable" />
+    </Register>
+    <Register start="+0x107+0" size="1" name="USB_EPINTFLAG0" access="Read/Write" description="DEVICE End Point Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out" />
+    </Register>
+    <Register start="+0x107+32" size="1" name="USB_EPINTFLAG1" access="Read/Write" description="DEVICE End Point Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out" />
+    </Register>
+    <Register start="+0x107+64" size="1" name="USB_EPINTFLAG2" access="Read/Write" description="DEVICE End Point Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out" />
+    </Register>
+    <Register start="+0x107+96" size="1" name="USB_EPINTFLAG3" access="Read/Write" description="DEVICE End Point Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out" />
+    </Register>
+    <Register start="+0x107+128" size="1" name="USB_EPINTFLAG4" access="Read/Write" description="DEVICE End Point Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out" />
+    </Register>
+    <Register start="+0x107+160" size="1" name="USB_EPINTFLAG5" access="Read/Write" description="DEVICE End Point Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out" />
+    </Register>
+    <Register start="+0x107+192" size="1" name="USB_EPINTFLAG6" access="Read/Write" description="DEVICE End Point Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out" />
+    </Register>
+    <Register start="+0x107+224" size="1" name="USB_EPINTFLAG7" access="Read/Write" description="DEVICE End Point Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out" />
+    </Register>
+    <Register start="+0x020" size="2" name="USB_EPINTSMRY" access="ReadOnly" description="DEVICE End Point Interrupt Summary" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EPINT0" description="End Point 0 Interrupt" />
+      <BitField start="1" size="1" name="EPINT1" description="End Point 1 Interrupt" />
+      <BitField start="2" size="1" name="EPINT2" description="End Point 2 Interrupt" />
+      <BitField start="3" size="1" name="EPINT3" description="End Point 3 Interrupt" />
+      <BitField start="4" size="1" name="EPINT4" description="End Point 4 Interrupt" />
+      <BitField start="5" size="1" name="EPINT5" description="End Point 5 Interrupt" />
+      <BitField start="6" size="1" name="EPINT6" description="End Point 6 Interrupt" />
+      <BitField start="7" size="1" name="EPINT7" description="End Point 7 Interrupt" />
+    </Register>
+    <Register start="+0x106+0" size="1" name="USB_EPSTATUS0" access="ReadOnly" description="DEVICE End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle Out" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle In" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+32" size="1" name="USB_EPSTATUS1" access="ReadOnly" description="DEVICE End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle Out" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle In" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+64" size="1" name="USB_EPSTATUS2" access="ReadOnly" description="DEVICE End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle Out" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle In" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+96" size="1" name="USB_EPSTATUS3" access="ReadOnly" description="DEVICE End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle Out" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle In" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+128" size="1" name="USB_EPSTATUS4" access="ReadOnly" description="DEVICE End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle Out" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle In" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+160" size="1" name="USB_EPSTATUS5" access="ReadOnly" description="DEVICE End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle Out" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle In" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+192" size="1" name="USB_EPSTATUS6" access="ReadOnly" description="DEVICE End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle Out" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle In" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+224" size="1" name="USB_EPSTATUS7" access="ReadOnly" description="DEVICE End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle Out" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle In" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x104+0" size="1" name="USB_EPSTATUSCLR0" access="WriteOnly" description="DEVICE End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Clear" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank Clear" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Clear" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+32" size="1" name="USB_EPSTATUSCLR1" access="WriteOnly" description="DEVICE End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Clear" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank Clear" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Clear" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+64" size="1" name="USB_EPSTATUSCLR2" access="WriteOnly" description="DEVICE End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Clear" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank Clear" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Clear" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+96" size="1" name="USB_EPSTATUSCLR3" access="WriteOnly" description="DEVICE End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Clear" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank Clear" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Clear" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+128" size="1" name="USB_EPSTATUSCLR4" access="WriteOnly" description="DEVICE End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Clear" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank Clear" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Clear" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+160" size="1" name="USB_EPSTATUSCLR5" access="WriteOnly" description="DEVICE End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Clear" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank Clear" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Clear" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+192" size="1" name="USB_EPSTATUSCLR6" access="WriteOnly" description="DEVICE End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Clear" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank Clear" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Clear" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+224" size="1" name="USB_EPSTATUSCLR7" access="WriteOnly" description="DEVICE End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Clear" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank Clear" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Clear" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x105+0" size="1" name="USB_EPSTATUSSET0" access="WriteOnly" description="DEVICE End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Set" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Set" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+32" size="1" name="USB_EPSTATUSSET1" access="WriteOnly" description="DEVICE End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Set" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Set" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+64" size="1" name="USB_EPSTATUSSET2" access="WriteOnly" description="DEVICE End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Set" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Set" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+96" size="1" name="USB_EPSTATUSSET3" access="WriteOnly" description="DEVICE End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Set" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Set" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+128" size="1" name="USB_EPSTATUSSET4" access="WriteOnly" description="DEVICE End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Set" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Set" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+160" size="1" name="USB_EPSTATUSSET5" access="WriteOnly" description="DEVICE End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Set" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Set" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+192" size="1" name="USB_EPSTATUSSET6" access="WriteOnly" description="DEVICE End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Set" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Set" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+224" size="1" name="USB_EPSTATUSSET7" access="WriteOnly" description="DEVICE End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Set" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Set" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x010" size="2" name="USB_FNUM" access="ReadOnly" description="DEVICE Device Frame Number" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="MFNUM" description="Micro Frame Number" />
+      <BitField start="3" size="11" name="FNUM" description="Frame Number" />
+      <BitField start="15" size="1" name="FNCERR" description="Frame Number CRC Error" />
+    </Register>
+    <Register start="+0x00D" size="1" name="USB_FSMSTATUS" access="ReadOnly" description="Finite State Machine Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="FSMSTATE" description="Fine State Machine Status">
+        <Enum name="OFF" start="0x1" description="OFF (L3). It corresponds to the powered-off, disconnected, and disabled state" />
+        <Enum name="ON" start="0x2" description="ON (L0). It corresponds to the Idle and Active states" />
+        <Enum name="SUSPEND" start="0x4" description="SUSPEND (L2)" />
+        <Enum name="SLEEP" start="0x8" description="SLEEP (L1)" />
+        <Enum name="DNRESUME" start="0x10" description="DNRESUME. Down Stream Resume." />
+        <Enum name="UPRESUME" start="0x20" description="UPRESUME. Up Stream Resume." />
+        <Enum name="RESET" start="0x40" description="RESET. USB lines Reset." />
+      </BitField>
+    </Register>
+    <Register start="+0x014" size="2" name="USB_INTENCLR" access="Read/Write" description="DEVICE Device Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SUSPEND" description="Suspend Interrupt Enable" />
+      <BitField start="1" size="1" name="MSOF" description="Micro Start of Frame Interrupt Enable in High Speed Mode" />
+      <BitField start="2" size="1" name="SOF" description="Start Of Frame Interrupt Enable" />
+      <BitField start="3" size="1" name="EORST" description="End of Reset Interrupt Enable" />
+      <BitField start="4" size="1" name="WAKEUP" description="Wake Up Interrupt Enable" />
+      <BitField start="5" size="1" name="EORSM" description="End Of Resume Interrupt Enable" />
+      <BitField start="6" size="1" name="UPRSM" description="Upstream Resume Interrupt Enable" />
+      <BitField start="7" size="1" name="RAMACER" description="Ram Access Interrupt Enable" />
+      <BitField start="8" size="1" name="LPMNYET" description="Link Power Management Not Yet Interrupt Enable" />
+      <BitField start="9" size="1" name="LPMSUSP" description="Link Power Management Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x018" size="2" name="USB_INTENSET" access="Read/Write" description="DEVICE Device Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SUSPEND" description="Suspend Interrupt Enable" />
+      <BitField start="1" size="1" name="MSOF" description="Micro Start of Frame Interrupt Enable in High Speed Mode" />
+      <BitField start="2" size="1" name="SOF" description="Start Of Frame Interrupt Enable" />
+      <BitField start="3" size="1" name="EORST" description="End of Reset Interrupt Enable" />
+      <BitField start="4" size="1" name="WAKEUP" description="Wake Up Interrupt Enable" />
+      <BitField start="5" size="1" name="EORSM" description="End Of Resume Interrupt Enable" />
+      <BitField start="6" size="1" name="UPRSM" description="Upstream Resume Interrupt Enable" />
+      <BitField start="7" size="1" name="RAMACER" description="Ram Access Interrupt Enable" />
+      <BitField start="8" size="1" name="LPMNYET" description="Link Power Management Not Yet Interrupt Enable" />
+      <BitField start="9" size="1" name="LPMSUSP" description="Link Power Management Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x01C" size="2" name="USB_INTFLAG" access="Read/Write" description="DEVICE Device Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SUSPEND" description="Suspend" />
+      <BitField start="1" size="1" name="MSOF" description="Micro Start of Frame in High Speed Mode" />
+      <BitField start="2" size="1" name="SOF" description="Start Of Frame" />
+      <BitField start="3" size="1" name="EORST" description="End of Reset" />
+      <BitField start="4" size="1" name="WAKEUP" description="Wake Up" />
+      <BitField start="5" size="1" name="EORSM" description="End Of Resume" />
+      <BitField start="6" size="1" name="UPRSM" description="Upstream Resume" />
+      <BitField start="7" size="1" name="RAMACER" description="Ram Access" />
+      <BitField start="8" size="1" name="LPMNYET" description="Link Power Management Not Yet" />
+      <BitField start="9" size="1" name="LPMSUSP" description="Link Power Management Suspend" />
+    </Register>
+    <Register start="+0x028" size="2" name="USB_PADCAL" access="Read/Write" description="USB PAD Calibration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="TRANSP" description="USB Pad Transp calibration" />
+      <BitField start="6" size="5" name="TRANSN" description="USB Pad Transn calibration" />
+      <BitField start="12" size="3" name="TRIM" description="USB Pad Trim calibration" />
+    </Register>
+    <Register start="+0x003" size="1" name="USB_QOSCTRL" access="Read/Write" description="USB Quality Of Service" reset_value="0x05" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CQOS" description="Configuration Quality of Service">
+        <Enum name="DISABLE" start="0x0" description="Background (no sensitive operation)" />
+        <Enum name="LOW" start="0x1" description="Sensitive Bandwidth" />
+        <Enum name="MEDIUM" start="0x2" description="Sensitive Latency" />
+        <Enum name="HIGH" start="0x3" description="Critical Latency" />
+      </BitField>
+      <BitField start="2" size="2" name="DQOS" description="Data Quality of Service">
+        <Enum name="DISABLE" start="0x0" description="Background (no sensitive operation)" />
+        <Enum name="LOW" start="0x1" description="Sensitive Bandwidth" />
+        <Enum name="MEDIUM" start="0x2" description="Sensitive Latency" />
+        <Enum name="HIGH" start="0x3" description="Critical Latency" />
+      </BitField>
+    </Register>
+    <Register start="+0x00C" size="1" name="USB_STATUS" access="ReadOnly" description="DEVICE Status" reset_value="0x40" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="2" name="SPEED" description="Speed Status">
+        <Enum name="FS" start="0x0" description="Full-speed mode" />
+        <Enum name="HS" start="0x1" description="High-speed mode" />
+        <Enum name="LS" start="0x2" description="Low-speed mode" />
+      </BitField>
+      <BitField start="6" size="2" name="LINESTATE" description="USB Line State Status">
+        <Enum name="0" start="0x0" description="SE0/RESET" />
+        <Enum name="1" start="0x1" description="FS-J or LS-K State" />
+        <Enum name="2" start="0x2" description="FS-K or LS-J State" />
+      </BitField>
+    </Register>
+    <Register start="+0x002" size="1" name="USB_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="USB (HOST)" start="0x41005000" description="Universal Serial Bus">
+    <Register start="+0x103+0" size="1" name="USB_BINTERVAL0" access="Read/Write" description="HOST Bus Access Period of Pipe" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BITINTERVAL" description="Bit Interval" />
+    </Register>
+    <Register start="+0x103+32" size="1" name="USB_BINTERVAL1" access="Read/Write" description="HOST Bus Access Period of Pipe" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BITINTERVAL" description="Bit Interval" />
+    </Register>
+    <Register start="+0x103+64" size="1" name="USB_BINTERVAL2" access="Read/Write" description="HOST Bus Access Period of Pipe" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BITINTERVAL" description="Bit Interval" />
+    </Register>
+    <Register start="+0x103+96" size="1" name="USB_BINTERVAL3" access="Read/Write" description="HOST Bus Access Period of Pipe" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BITINTERVAL" description="Bit Interval" />
+    </Register>
+    <Register start="+0x103+128" size="1" name="USB_BINTERVAL4" access="Read/Write" description="HOST Bus Access Period of Pipe" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BITINTERVAL" description="Bit Interval" />
+    </Register>
+    <Register start="+0x103+160" size="1" name="USB_BINTERVAL5" access="Read/Write" description="HOST Bus Access Period of Pipe" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BITINTERVAL" description="Bit Interval" />
+    </Register>
+    <Register start="+0x103+192" size="1" name="USB_BINTERVAL6" access="Read/Write" description="HOST Bus Access Period of Pipe" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BITINTERVAL" description="Bit Interval" />
+    </Register>
+    <Register start="+0x103+224" size="1" name="USB_BINTERVAL7" access="Read/Write" description="HOST Bus Access Period of Pipe" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BITINTERVAL" description="Bit Interval" />
+    </Register>
+    <Register start="+0x000" size="1" name="USB_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="1" name="RUNSTDBY" description="Run in Standby Mode" />
+      <BitField start="7" size="1" name="MODE" description="Operating Mode">
+        <Enum name="DEVICE" start="0x0" description="Device Mode" />
+        <Enum name="HOST" start="0x1" description="Host Mode" />
+      </BitField>
+    </Register>
+    <Register start="+0x008" size="2" name="USB_CTRLB" access="Read/Write" description="HOST Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="RESUME" description="Send USB Resume" />
+      <BitField start="2" size="2" name="SPDCONF" description="Speed Configuration for Host">
+        <Enum name="NORMAL" start="0x0" description="Normal mode:the host starts in full-speed mode and performs a high-speed reset to switch to the high speed mode if the downstream peripheral is high-speed capable." />
+        <Enum name="FS" start="0x3" description="Full-speed:the host remains in full-speed mode whatever is the peripheral speed capability. Relevant in UTMI mode only." />
+      </BitField>
+      <BitField start="5" size="1" name="TSTJ" description="Test mode J" />
+      <BitField start="6" size="1" name="TSTK" description="Test mode K" />
+      <BitField start="8" size="1" name="SOFE" description="Start of Frame Generation Enable" />
+      <BitField start="9" size="1" name="BUSRESET" description="Send USB Reset" />
+      <BitField start="10" size="1" name="VBUSOK" description="VBUS is OK" />
+      <BitField start="11" size="1" name="L1RESUME" description="Send L1 Resume" />
+    </Register>
+    <Register start="+0x024" size="4" name="USB_DESCADD" access="Read/Write" description="Descriptor Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DESCADD" description="Descriptor Address Value" />
+    </Register>
+    <Register start="+0x012" size="1" name="USB_FLENHIGH" access="ReadOnly" description="HOST Host Frame Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="FLENHIGH" description="Frame Length" />
+    </Register>
+    <Register start="+0x010" size="2" name="USB_FNUM" access="Read/Write" description="HOST Host Frame Number" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="MFNUM" description="Micro Frame Number" />
+      <BitField start="3" size="11" name="FNUM" description="Frame Number" />
+    </Register>
+    <Register start="+0x00D" size="1" name="USB_FSMSTATUS" access="ReadOnly" description="Finite State Machine Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="FSMSTATE" description="Fine State Machine Status">
+        <Enum name="OFF" start="0x1" description="OFF (L3). It corresponds to the powered-off, disconnected, and disabled state" />
+        <Enum name="ON" start="0x2" description="ON (L0). It corresponds to the Idle and Active states" />
+        <Enum name="SUSPEND" start="0x4" description="SUSPEND (L2)" />
+        <Enum name="SLEEP" start="0x8" description="SLEEP (L1)" />
+        <Enum name="DNRESUME" start="0x10" description="DNRESUME. Down Stream Resume." />
+        <Enum name="UPRESUME" start="0x20" description="UPRESUME. Up Stream Resume." />
+        <Enum name="RESET" start="0x40" description="RESET. USB lines Reset." />
+      </BitField>
+    </Register>
+    <Register start="+0x00A" size="1" name="USB_HSOFC" access="Read/Write" description="HOST Host Start Of Frame Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="FLENC" description="Frame Length Control" />
+      <BitField start="7" size="1" name="FLENCE" description="Frame Length Control Enable" />
+    </Register>
+    <Register start="+0x014" size="2" name="USB_INTENCLR" access="Read/Write" description="HOST Host Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="HSOF" description="Host Start Of Frame Interrupt Disable" />
+      <BitField start="3" size="1" name="RST" description="BUS Reset Interrupt Disable" />
+      <BitField start="4" size="1" name="WAKEUP" description="Wake Up Interrupt Disable" />
+      <BitField start="5" size="1" name="DNRSM" description="DownStream to Device Interrupt Disable" />
+      <BitField start="6" size="1" name="UPRSM" description="Upstream Resume from Device Interrupt Disable" />
+      <BitField start="7" size="1" name="RAMACER" description="Ram Access Interrupt Disable" />
+      <BitField start="8" size="1" name="DCONN" description="Device Connection Interrupt Disable" />
+      <BitField start="9" size="1" name="DDISC" description="Device Disconnection Interrupt Disable" />
+    </Register>
+    <Register start="+0x018" size="2" name="USB_INTENSET" access="Read/Write" description="HOST Host Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="HSOF" description="Host Start Of Frame Interrupt Enable" />
+      <BitField start="3" size="1" name="RST" description="Bus Reset Interrupt Enable" />
+      <BitField start="4" size="1" name="WAKEUP" description="Wake Up Interrupt Enable" />
+      <BitField start="5" size="1" name="DNRSM" description="DownStream to the Device Interrupt Enable" />
+      <BitField start="6" size="1" name="UPRSM" description="Upstream Resume fromthe device Interrupt Enable" />
+      <BitField start="7" size="1" name="RAMACER" description="Ram Access Interrupt Enable" />
+      <BitField start="8" size="1" name="DCONN" description="Link Power Management Interrupt Enable" />
+      <BitField start="9" size="1" name="DDISC" description="Device Disconnection Interrupt Enable" />
+    </Register>
+    <Register start="+0x01C" size="2" name="USB_INTFLAG" access="Read/Write" description="HOST Host Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="HSOF" description="Host Start Of Frame" />
+      <BitField start="3" size="1" name="RST" description="Bus Reset" />
+      <BitField start="4" size="1" name="WAKEUP" description="Wake Up" />
+      <BitField start="5" size="1" name="DNRSM" description="Downstream" />
+      <BitField start="6" size="1" name="UPRSM" description="Upstream Resume from the Device" />
+      <BitField start="7" size="1" name="RAMACER" description="Ram Access" />
+      <BitField start="8" size="1" name="DCONN" description="Device Connection" />
+      <BitField start="9" size="1" name="DDISC" description="Device Disconnection" />
+    </Register>
+    <Register start="+0x028" size="2" name="USB_PADCAL" access="Read/Write" description="USB PAD Calibration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="TRANSP" description="USB Pad Transp calibration" />
+      <BitField start="6" size="5" name="TRANSN" description="USB Pad Transn calibration" />
+      <BitField start="12" size="3" name="TRIM" description="USB Pad Trim calibration" />
+    </Register>
+    <Register start="+0x100+0" size="1" name="USB_PCFG0" access="Read/Write" description="HOST End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PTOKEN" description="Pipe Token" />
+      <BitField start="2" size="1" name="BK" description="Pipe Bank" />
+      <BitField start="3" size="3" name="PTYPE" description="Pipe Type" />
+    </Register>
+    <Register start="+0x100+32" size="1" name="USB_PCFG1" access="Read/Write" description="HOST End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PTOKEN" description="Pipe Token" />
+      <BitField start="2" size="1" name="BK" description="Pipe Bank" />
+      <BitField start="3" size="3" name="PTYPE" description="Pipe Type" />
+    </Register>
+    <Register start="+0x100+64" size="1" name="USB_PCFG2" access="Read/Write" description="HOST End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PTOKEN" description="Pipe Token" />
+      <BitField start="2" size="1" name="BK" description="Pipe Bank" />
+      <BitField start="3" size="3" name="PTYPE" description="Pipe Type" />
+    </Register>
+    <Register start="+0x100+96" size="1" name="USB_PCFG3" access="Read/Write" description="HOST End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PTOKEN" description="Pipe Token" />
+      <BitField start="2" size="1" name="BK" description="Pipe Bank" />
+      <BitField start="3" size="3" name="PTYPE" description="Pipe Type" />
+    </Register>
+    <Register start="+0x100+128" size="1" name="USB_PCFG4" access="Read/Write" description="HOST End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PTOKEN" description="Pipe Token" />
+      <BitField start="2" size="1" name="BK" description="Pipe Bank" />
+      <BitField start="3" size="3" name="PTYPE" description="Pipe Type" />
+    </Register>
+    <Register start="+0x100+160" size="1" name="USB_PCFG5" access="Read/Write" description="HOST End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PTOKEN" description="Pipe Token" />
+      <BitField start="2" size="1" name="BK" description="Pipe Bank" />
+      <BitField start="3" size="3" name="PTYPE" description="Pipe Type" />
+    </Register>
+    <Register start="+0x100+192" size="1" name="USB_PCFG6" access="Read/Write" description="HOST End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PTOKEN" description="Pipe Token" />
+      <BitField start="2" size="1" name="BK" description="Pipe Bank" />
+      <BitField start="3" size="3" name="PTYPE" description="Pipe Type" />
+    </Register>
+    <Register start="+0x100+224" size="1" name="USB_PCFG7" access="Read/Write" description="HOST End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PTOKEN" description="Pipe Token" />
+      <BitField start="2" size="1" name="BK" description="Pipe Bank" />
+      <BitField start="3" size="3" name="PTYPE" description="Pipe Type" />
+    </Register>
+    <Register start="+0x108+0" size="1" name="USB_PINTENCLR0" access="Read/Write" description="HOST Pipe Interrupt Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Disable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Disable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Disable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Inetrrupt Disable" />
+    </Register>
+    <Register start="+0x108+32" size="1" name="USB_PINTENCLR1" access="Read/Write" description="HOST Pipe Interrupt Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Disable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Disable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Disable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Inetrrupt Disable" />
+    </Register>
+    <Register start="+0x108+64" size="1" name="USB_PINTENCLR2" access="Read/Write" description="HOST Pipe Interrupt Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Disable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Disable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Disable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Inetrrupt Disable" />
+    </Register>
+    <Register start="+0x108+96" size="1" name="USB_PINTENCLR3" access="Read/Write" description="HOST Pipe Interrupt Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Disable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Disable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Disable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Inetrrupt Disable" />
+    </Register>
+    <Register start="+0x108+128" size="1" name="USB_PINTENCLR4" access="Read/Write" description="HOST Pipe Interrupt Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Disable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Disable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Disable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Inetrrupt Disable" />
+    </Register>
+    <Register start="+0x108+160" size="1" name="USB_PINTENCLR5" access="Read/Write" description="HOST Pipe Interrupt Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Disable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Disable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Disable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Inetrrupt Disable" />
+    </Register>
+    <Register start="+0x108+192" size="1" name="USB_PINTENCLR6" access="Read/Write" description="HOST Pipe Interrupt Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Disable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Disable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Disable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Inetrrupt Disable" />
+    </Register>
+    <Register start="+0x108+224" size="1" name="USB_PINTENCLR7" access="Read/Write" description="HOST Pipe Interrupt Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Disable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Disable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Disable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Inetrrupt Disable" />
+    </Register>
+    <Register start="+0x109+0" size="1" name="USB_PINTENSET0" access="Read/Write" description="HOST Pipe Interrupt Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Enable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Enable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Enable" />
+    </Register>
+    <Register start="+0x109+32" size="1" name="USB_PINTENSET1" access="Read/Write" description="HOST Pipe Interrupt Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Enable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Enable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Enable" />
+    </Register>
+    <Register start="+0x109+64" size="1" name="USB_PINTENSET2" access="Read/Write" description="HOST Pipe Interrupt Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Enable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Enable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Enable" />
+    </Register>
+    <Register start="+0x109+96" size="1" name="USB_PINTENSET3" access="Read/Write" description="HOST Pipe Interrupt Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Enable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Enable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Enable" />
+    </Register>
+    <Register start="+0x109+128" size="1" name="USB_PINTENSET4" access="Read/Write" description="HOST Pipe Interrupt Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Enable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Enable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Enable" />
+    </Register>
+    <Register start="+0x109+160" size="1" name="USB_PINTENSET5" access="Read/Write" description="HOST Pipe Interrupt Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Enable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Enable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Enable" />
+    </Register>
+    <Register start="+0x109+192" size="1" name="USB_PINTENSET6" access="Read/Write" description="HOST Pipe Interrupt Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Enable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Enable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Enable" />
+    </Register>
+    <Register start="+0x109+224" size="1" name="USB_PINTENSET7" access="Read/Write" description="HOST Pipe Interrupt Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Enable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Enable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Enable" />
+    </Register>
+    <Register start="+0x107+0" size="1" name="USB_PINTFLAG0" access="Read/Write" description="HOST Pipe Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Flag" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Flag" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Flag" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Flag" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Flag" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Flag" />
+    </Register>
+    <Register start="+0x107+32" size="1" name="USB_PINTFLAG1" access="Read/Write" description="HOST Pipe Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Flag" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Flag" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Flag" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Flag" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Flag" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Flag" />
+    </Register>
+    <Register start="+0x107+64" size="1" name="USB_PINTFLAG2" access="Read/Write" description="HOST Pipe Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Flag" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Flag" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Flag" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Flag" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Flag" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Flag" />
+    </Register>
+    <Register start="+0x107+96" size="1" name="USB_PINTFLAG3" access="Read/Write" description="HOST Pipe Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Flag" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Flag" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Flag" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Flag" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Flag" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Flag" />
+    </Register>
+    <Register start="+0x107+128" size="1" name="USB_PINTFLAG4" access="Read/Write" description="HOST Pipe Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Flag" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Flag" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Flag" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Flag" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Flag" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Flag" />
+    </Register>
+    <Register start="+0x107+160" size="1" name="USB_PINTFLAG5" access="Read/Write" description="HOST Pipe Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Flag" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Flag" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Flag" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Flag" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Flag" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Flag" />
+    </Register>
+    <Register start="+0x107+192" size="1" name="USB_PINTFLAG6" access="Read/Write" description="HOST Pipe Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Flag" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Flag" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Flag" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Flag" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Flag" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Flag" />
+    </Register>
+    <Register start="+0x107+224" size="1" name="USB_PINTFLAG7" access="Read/Write" description="HOST Pipe Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Flag" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Flag" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Flag" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Flag" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Flag" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Flag" />
+    </Register>
+    <Register start="+0x020" size="2" name="USB_PINTSMRY" access="ReadOnly" description="HOST Pipe Interrupt Summary" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EPINT0" description="Pipe 0 Interrupt" />
+      <BitField start="1" size="1" name="EPINT1" description="Pipe 1 Interrupt" />
+      <BitField start="2" size="1" name="EPINT2" description="Pipe 2 Interrupt" />
+      <BitField start="3" size="1" name="EPINT3" description="Pipe 3 Interrupt" />
+      <BitField start="4" size="1" name="EPINT4" description="Pipe 4 Interrupt" />
+      <BitField start="5" size="1" name="EPINT5" description="Pipe 5 Interrupt" />
+      <BitField start="6" size="1" name="EPINT6" description="Pipe 6 Interrupt" />
+      <BitField start="7" size="1" name="EPINT7" description="Pipe 7 Interrupt" />
+    </Register>
+    <Register start="+0x106+0" size="1" name="USB_PSTATUS0" access="ReadOnly" description="HOST End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+32" size="1" name="USB_PSTATUS1" access="ReadOnly" description="HOST End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+64" size="1" name="USB_PSTATUS2" access="ReadOnly" description="HOST End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+96" size="1" name="USB_PSTATUS3" access="ReadOnly" description="HOST End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+128" size="1" name="USB_PSTATUS4" access="ReadOnly" description="HOST End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+160" size="1" name="USB_PSTATUS5" access="ReadOnly" description="HOST End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+192" size="1" name="USB_PSTATUS6" access="ReadOnly" description="HOST End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+224" size="1" name="USB_PSTATUS7" access="ReadOnly" description="HOST End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x104+0" size="1" name="USB_PSTATUSCLR0" access="WriteOnly" description="HOST End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank clear" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+32" size="1" name="USB_PSTATUSCLR1" access="WriteOnly" description="HOST End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank clear" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+64" size="1" name="USB_PSTATUSCLR2" access="WriteOnly" description="HOST End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank clear" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+96" size="1" name="USB_PSTATUSCLR3" access="WriteOnly" description="HOST End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank clear" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+128" size="1" name="USB_PSTATUSCLR4" access="WriteOnly" description="HOST End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank clear" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+160" size="1" name="USB_PSTATUSCLR5" access="WriteOnly" description="HOST End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank clear" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+192" size="1" name="USB_PSTATUSCLR6" access="WriteOnly" description="HOST End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank clear" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+224" size="1" name="USB_PSTATUSCLR7" access="WriteOnly" description="HOST End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank clear" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x105+0" size="1" name="USB_PSTATUSSET0" access="WriteOnly" description="HOST End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+32" size="1" name="USB_PSTATUSSET1" access="WriteOnly" description="HOST End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+64" size="1" name="USB_PSTATUSSET2" access="WriteOnly" description="HOST End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+96" size="1" name="USB_PSTATUSSET3" access="WriteOnly" description="HOST End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+128" size="1" name="USB_PSTATUSSET4" access="WriteOnly" description="HOST End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+160" size="1" name="USB_PSTATUSSET5" access="WriteOnly" description="HOST End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+192" size="1" name="USB_PSTATUSSET6" access="WriteOnly" description="HOST End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+224" size="1" name="USB_PSTATUSSET7" access="WriteOnly" description="HOST End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x003" size="1" name="USB_QOSCTRL" access="Read/Write" description="USB Quality Of Service" reset_value="0x05" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CQOS" description="Configuration Quality of Service">
+        <Enum name="DISABLE" start="0x0" description="Background (no sensitive operation)" />
+        <Enum name="LOW" start="0x1" description="Sensitive Bandwidth" />
+        <Enum name="MEDIUM" start="0x2" description="Sensitive Latency" />
+        <Enum name="HIGH" start="0x3" description="Critical Latency" />
+      </BitField>
+      <BitField start="2" size="2" name="DQOS" description="Data Quality of Service">
+        <Enum name="DISABLE" start="0x0" description="Background (no sensitive operation)" />
+        <Enum name="LOW" start="0x1" description="Sensitive Bandwidth" />
+        <Enum name="MEDIUM" start="0x2" description="Sensitive Latency" />
+        <Enum name="HIGH" start="0x3" description="Critical Latency" />
+      </BitField>
+    </Register>
+    <Register start="+0x00C" size="1" name="USB_STATUS" access="Read/Write" description="HOST Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="2" name="SPEED" description="Speed Status" />
+      <BitField start="6" size="2" name="LINESTATE" description="USB Line State Status" />
+    </Register>
+    <Register start="+0x002" size="1" name="USB_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="WDT" start="0x40001000" description="Watchdog Timer">
+    <Register start="+0x8" size="1" name="WDT_CLEAR" access="WriteOnly" description="Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CLEAR" description="Watchdog Clear">
+        <Enum name="KEY" start="0xa5" description="Clear Key" />
+      </BitField>
+    </Register>
+    <Register start="+0x1" size="1" name="WDT_CONFIG" access="Read/Write" description="Configuration" reset_value="0xBB" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PER" description="Time-Out Period">
+        <Enum name="8" start="0x0" description="8 clock cycles" />
+        <Enum name="16" start="0x1" description="16 clock cycles" />
+        <Enum name="32" start="0x2" description="32 clock cycles" />
+        <Enum name="64" start="0x3" description="64 clock cycles" />
+        <Enum name="128" start="0x4" description="128 clock cycles" />
+        <Enum name="256" start="0x5" description="256 clock cycles" />
+        <Enum name="512" start="0x6" description="512 clock cycles" />
+        <Enum name="1K" start="0x7" description="1024 clock cycles" />
+        <Enum name="2K" start="0x8" description="2048 clock cycles" />
+        <Enum name="4K" start="0x9" description="4096 clock cycles" />
+        <Enum name="8K" start="0xa" description="8192 clock cycles" />
+        <Enum name="16K" start="0xb" description="16384 clock cycles" />
+      </BitField>
+      <BitField start="4" size="4" name="WINDOW" description="Window Mode Time-Out Period">
+        <Enum name="8" start="0x0" description="8 clock cycles" />
+        <Enum name="16" start="0x1" description="16 clock cycles" />
+        <Enum name="32" start="0x2" description="32 clock cycles" />
+        <Enum name="64" start="0x3" description="64 clock cycles" />
+        <Enum name="128" start="0x4" description="128 clock cycles" />
+        <Enum name="256" start="0x5" description="256 clock cycles" />
+        <Enum name="512" start="0x6" description="512 clock cycles" />
+        <Enum name="1K" start="0x7" description="1024 clock cycles" />
+        <Enum name="2K" start="0x8" description="2048 clock cycles" />
+        <Enum name="4K" start="0x9" description="4096 clock cycles" />
+        <Enum name="8K" start="0xa" description="8192 clock cycles" />
+        <Enum name="16K" start="0xb" description="16384 clock cycles" />
+      </BitField>
+    </Register>
+    <Register start="+0x0" size="1" name="WDT_CTRL" access="Read/Write" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="1" name="WEN" description="Watchdog Timer Window Mode Enable" />
+      <BitField start="7" size="1" name="ALWAYSON" description="Always-On" />
+    </Register>
+    <Register start="+0x2" size="1" name="WDT_EWCTRL" access="Read/Write" description="Early Warning Interrupt Control" reset_value="0x0B" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="EWOFFSET" description="Early Warning Interrupt Time Offset">
+        <Enum name="8" start="0x0" description="8 clock cycles" />
+        <Enum name="16" start="0x1" description="16 clock cycles" />
+        <Enum name="32" start="0x2" description="32 clock cycles" />
+        <Enum name="64" start="0x3" description="64 clock cycles" />
+        <Enum name="128" start="0x4" description="128 clock cycles" />
+        <Enum name="256" start="0x5" description="256 clock cycles" />
+        <Enum name="512" start="0x6" description="512 clock cycles" />
+        <Enum name="1K" start="0x7" description="1024 clock cycles" />
+        <Enum name="2K" start="0x8" description="2048 clock cycles" />
+        <Enum name="4K" start="0x9" description="4096 clock cycles" />
+        <Enum name="8K" start="0xa" description="8192 clock cycles" />
+        <Enum name="16K" start="0xb" description="16384 clock cycles" />
+      </BitField>
+    </Register>
+    <Register start="+0x4" size="1" name="WDT_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EW" description="Early Warning Interrupt Enable" />
+    </Register>
+    <Register start="+0x5" size="1" name="WDT_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EW" description="Early Warning Interrupt Enable" />
+    </Register>
+    <Register start="+0x6" size="1" name="WDT_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EW" description="Early Warning" />
+    </Register>
+    <Register start="+0x7" size="1" name="WDT_STATUS" access="ReadOnly" description="Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="7" size="1" name="SYNCBUSY" description="Synchronization Busy" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="NVIC" start="0xE000E100" description="Nested Vectored Interrupt Controller">
+    <Register name="NVIC_ISER0" description="Interrupt Set-Enable Register 0" start="0xE000E100">
+      <BitField name="PM" start="0" size="1" />
+      <BitField name="SYSCTRL" start="1" size="1" />
+      <BitField name="WDT" start="2" size="1" />
+      <BitField name="RTC" start="3" size="1" />
+      <BitField name="EIC" start="4" size="1" />
+      <BitField name="NVMCTRL" start="5" size="1" />
+      <BitField name="DMAC" start="6" size="1" />
+      <BitField name="USB" start="7" size="1" />
+      <BitField name="EVSYS" start="8" size="1" />
+      <BitField name="SERCOM0" start="9" size="1" />
+      <BitField name="SERCOM1" start="10" size="1" />
+      <BitField name="SERCOM2" start="11" size="1" />
+      <BitField name="SERCOM3" start="12" size="1" />
+      <BitField name="SERCOM4" start="13" size="1" />
+      <BitField name="SERCOM5" start="14" size="1" />
+      <BitField name="TCC0" start="15" size="1" />
+      <BitField name="TCC1" start="16" size="1" />
+      <BitField name="TCC2" start="17" size="1" />
+      <BitField name="TC3" start="18" size="1" />
+      <BitField name="TC4" start="19" size="1" />
+      <BitField name="TC5" start="20" size="1" />
+      <BitField name="ADC" start="23" size="1" />
+      <BitField name="AC" start="24" size="1" />
+      <BitField name="DAC" start="25" size="1" />
+      <BitField name="I2S" start="27" size="1" />
+    </Register>
+    <Register name="NVIC_ICER0" description="Interrupt Clear-Enable Register 0" start="0xE000E180">
+      <BitField name="PM" start="0" size="1" />
+      <BitField name="SYSCTRL" start="1" size="1" />
+      <BitField name="WDT" start="2" size="1" />
+      <BitField name="RTC" start="3" size="1" />
+      <BitField name="EIC" start="4" size="1" />
+      <BitField name="NVMCTRL" start="5" size="1" />
+      <BitField name="DMAC" start="6" size="1" />
+      <BitField name="USB" start="7" size="1" />
+      <BitField name="EVSYS" start="8" size="1" />
+      <BitField name="SERCOM0" start="9" size="1" />
+      <BitField name="SERCOM1" start="10" size="1" />
+      <BitField name="SERCOM2" start="11" size="1" />
+      <BitField name="SERCOM3" start="12" size="1" />
+      <BitField name="SERCOM4" start="13" size="1" />
+      <BitField name="SERCOM5" start="14" size="1" />
+      <BitField name="TCC0" start="15" size="1" />
+      <BitField name="TCC1" start="16" size="1" />
+      <BitField name="TCC2" start="17" size="1" />
+      <BitField name="TC3" start="18" size="1" />
+      <BitField name="TC4" start="19" size="1" />
+      <BitField name="TC5" start="20" size="1" />
+      <BitField name="ADC" start="23" size="1" />
+      <BitField name="AC" start="24" size="1" />
+      <BitField name="DAC" start="25" size="1" />
+      <BitField name="I2S" start="27" size="1" />
+    </Register>
+    <Register name="NVIC_ISPR0" description="Interrupt Set-Pending Register 0" start="0xE000E200">
+      <BitField name="PM" start="0" size="1" />
+      <BitField name="SYSCTRL" start="1" size="1" />
+      <BitField name="WDT" start="2" size="1" />
+      <BitField name="RTC" start="3" size="1" />
+      <BitField name="EIC" start="4" size="1" />
+      <BitField name="NVMCTRL" start="5" size="1" />
+      <BitField name="DMAC" start="6" size="1" />
+      <BitField name="USB" start="7" size="1" />
+      <BitField name="EVSYS" start="8" size="1" />
+      <BitField name="SERCOM0" start="9" size="1" />
+      <BitField name="SERCOM1" start="10" size="1" />
+      <BitField name="SERCOM2" start="11" size="1" />
+      <BitField name="SERCOM3" start="12" size="1" />
+      <BitField name="SERCOM4" start="13" size="1" />
+      <BitField name="SERCOM5" start="14" size="1" />
+      <BitField name="TCC0" start="15" size="1" />
+      <BitField name="TCC1" start="16" size="1" />
+      <BitField name="TCC2" start="17" size="1" />
+      <BitField name="TC3" start="18" size="1" />
+      <BitField name="TC4" start="19" size="1" />
+      <BitField name="TC5" start="20" size="1" />
+      <BitField name="ADC" start="23" size="1" />
+      <BitField name="AC" start="24" size="1" />
+      <BitField name="DAC" start="25" size="1" />
+      <BitField name="I2S" start="27" size="1" />
+    </Register>
+    <Register name="NVIC_ICPR0" description="Interrupt Clear-Pending Register 0" start="0xE000E280">
+      <BitField name="PM" start="0" size="1" />
+      <BitField name="SYSCTRL" start="1" size="1" />
+      <BitField name="WDT" start="2" size="1" />
+      <BitField name="RTC" start="3" size="1" />
+      <BitField name="EIC" start="4" size="1" />
+      <BitField name="NVMCTRL" start="5" size="1" />
+      <BitField name="DMAC" start="6" size="1" />
+      <BitField name="USB" start="7" size="1" />
+      <BitField name="EVSYS" start="8" size="1" />
+      <BitField name="SERCOM0" start="9" size="1" />
+      <BitField name="SERCOM1" start="10" size="1" />
+      <BitField name="SERCOM2" start="11" size="1" />
+      <BitField name="SERCOM3" start="12" size="1" />
+      <BitField name="SERCOM4" start="13" size="1" />
+      <BitField name="SERCOM5" start="14" size="1" />
+      <BitField name="TCC0" start="15" size="1" />
+      <BitField name="TCC1" start="16" size="1" />
+      <BitField name="TCC2" start="17" size="1" />
+      <BitField name="TC3" start="18" size="1" />
+      <BitField name="TC4" start="19" size="1" />
+      <BitField name="TC5" start="20" size="1" />
+      <BitField name="ADC" start="23" size="1" />
+      <BitField name="AC" start="24" size="1" />
+      <BitField name="DAC" start="25" size="1" />
+      <BitField name="I2S" start="27" size="1" />
+    </Register>
+    <Register name="NVIC_IABR0" description="Interrupt Active Bit Register 0" start="0xE000E300" access="ReadOnly">
+      <BitField name="PM" start="0" size="1" />
+      <BitField name="SYSCTRL" start="1" size="1" />
+      <BitField name="WDT" start="2" size="1" />
+      <BitField name="RTC" start="3" size="1" />
+      <BitField name="EIC" start="4" size="1" />
+      <BitField name="NVMCTRL" start="5" size="1" />
+      <BitField name="DMAC" start="6" size="1" />
+      <BitField name="USB" start="7" size="1" />
+      <BitField name="EVSYS" start="8" size="1" />
+      <BitField name="SERCOM0" start="9" size="1" />
+      <BitField name="SERCOM1" start="10" size="1" />
+      <BitField name="SERCOM2" start="11" size="1" />
+      <BitField name="SERCOM3" start="12" size="1" />
+      <BitField name="SERCOM4" start="13" size="1" />
+      <BitField name="SERCOM5" start="14" size="1" />
+      <BitField name="TCC0" start="15" size="1" />
+      <BitField name="TCC1" start="16" size="1" />
+      <BitField name="TCC2" start="17" size="1" />
+      <BitField name="TC3" start="18" size="1" />
+      <BitField name="TC4" start="19" size="1" />
+      <BitField name="TC5" start="20" size="1" />
+      <BitField name="ADC" start="23" size="1" />
+      <BitField name="AC" start="24" size="1" />
+      <BitField name="DAC" start="25" size="1" />
+      <BitField name="I2S" start="27" size="1" />
+    </Register>
+    <Register name="NVIC_IPR0" description="Interrupt Priority Register 0" start="0xE000E400">
+      <BitField name="PM" start="6" size="2" />
+      <BitField name="SYSCTRL" start="14" size="2" />
+      <BitField name="WDT" start="22" size="2" />
+      <BitField name="RTC" start="30" size="2" />
+    </Register>
+    <Register name="NVIC_IPR1" description="Interrupt Priority Register 1" start="0xE000E404">
+      <BitField name="EIC" start="6" size="2" />
+      <BitField name="NVMCTRL" start="14" size="2" />
+      <BitField name="DMAC" start="22" size="2" />
+      <BitField name="USB" start="30" size="2" />
+    </Register>
+    <Register name="NVIC_IPR2" description="Interrupt Priority Register 2" start="0xE000E408">
+      <BitField name="EVSYS" start="6" size="2" />
+      <BitField name="SERCOM0" start="14" size="2" />
+      <BitField name="SERCOM1" start="22" size="2" />
+      <BitField name="SERCOM2" start="30" size="2" />
+    </Register>
+    <Register name="NVIC_IPR3" description="Interrupt Priority Register 3" start="0xE000E40C">
+      <BitField name="SERCOM3" start="6" size="2" />
+      <BitField name="SERCOM4" start="14" size="2" />
+      <BitField name="SERCOM5" start="22" size="2" />
+      <BitField name="TCC0" start="30" size="2" />
+    </Register>
+    <Register name="NVIC_IPR4" description="Interrupt Priority Register 4" start="0xE000E410">
+      <BitField name="TCC1" start="6" size="2" />
+      <BitField name="TCC2" start="14" size="2" />
+      <BitField name="TC3" start="22" size="2" />
+      <BitField name="TC4" start="30" size="2" />
+    </Register>
+    <Register name="NVIC_IPR5" description="Interrupt Priority Register 5" start="0xE000E414">
+      <BitField name="TC5" start="6" size="2" />
+      <BitField name="ADC" start="30" size="2" />
+    </Register>
+    <Register name="NVIC_IPR6" description="Interrupt Priority Register 6" start="0xE000E418">
+      <BitField name="AC" start="6" size="2" />
+      <BitField name="DAC" start="14" size="2" />
+      <BitField name="I2S" start="30" size="2" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SysTick" start="0xE000E010" description="24-bit System Timer">
+    <Register name="SYST_CSR" start="0xE000E010" description="SysTick Control and Status Register">
+      <BitField name="COUNTFLAG" start="16" size="1" description="Counter Flag" />
+      <BitField name="CLKSOURCE" start="2" size="1" description="Timer Clock Source" />
+      <BitField name="TICKINT" start="1" size="1" description="Tick Interrupt Enable" />
+      <BitField name="ENABLE" start="0" size="1" description="Enable SysTick Timer" />
+    </Register>
+    <Register name="SYST_RVR" start="0xE000E014" description="SysTick Reload Value Register">
+      <BitField name="RELOAD" start="0" size="24" description="Value to load into the SYST_CVR when the counter is enabled and when it reaches 0" />
+    </Register>
+    <Register name="SYST_CVR" start="0xE000E018" description="SysTick Current Value Register Register">
+      <BitField name="CURRENT" start="0" size="24" description="The current value of the SysTick counter" />
+    </Register>
+    <Register name="SYST_CALIB" start="0xE000E01C" access="ReadOnly" description="SysTick Calibration Value Register">
+      <BitField name="NOREF" start="31" size="1" description="Indicates whether the device provides a reference clock to the processor" />
+      <BitField name="SKEW" start="30" size="1" description="Indicates whether the TENMS value is exact" />
+      <BitField name="TENMS" start="0" size="24" description="Reload value for 10ms (100Hz) timing, subject to system clock skew errors" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SCB" start="" description="System Control Block">
+    <Register name="CPUID" start="0xE000ED00" access="ReadOnly" description="CPUID Register">
+      <BitField name="IMPLEMENTER" start="24" size="8" description="Implementer Code" />
+      <BitField name="VARIANT" start="20" size="4" description="Variant Number" />
+      <BitField name="PARTNO" start="4" size="12" description="Part Number" />
+      <BitField name="REVISION" start="0" size="4" description="Revision Number" />
+    </Register>
+    <Register name="ICSR" start="0xE000ED04" description="Interrupt Control and State Register">
+      <BitField name="NMIPENDSET" start="31" size="1" description="NMI set-pending bit" />
+      <BitField name="PENDSVSET" start="28" size="1" description="PendSV set-pending bit" />
+      <BitField name="PENDSVCLR" start="27" size="1" description="PendSV clear-pending bit" />
+      <BitField name="PENDSTSET" start="26" size="1" description="SysTick exception set-pending bit" />
+      <BitField name="PENDSTCLR" start="25" size="1" description="SysTick exception clear-pending bit" />
+      <BitField name="ISRPREEMPT" start="23" size="1" description="" />
+      <BitField name="ISRPENDING" start="22" size="1" description="Interrupt pending flag" />
+      <BitField name="VECTPENDING" start="12" size="9" description="Indicates the exception number of the highest priority pending enabled exception" />
+      <BitField name="VECTACTIVE" start="0" size="9" description="Contains the active exception number" />
+    </Register>
+    <Register name="AIRCR" start="0xE000ED0C" description="Application Interrupt and Reset Control Register">
+      <BitField name="VECTKEY" start="16" size="16" description="Register key" />
+      <BitField name="ENDIANESS" start="15" size="1" description="Data endianness bit" />
+      <BitField name="SYSRESETREQ" start="2" size="1" description="System reset request bit" />
+      <BitField name="VECTCLRACTIVE" start="1" size="1" description="" />
+    </Register>
+    <Register name="SCR" start="0xE000ED10" description="System Control Register">
+      <BitField name="SEVONPEND" start="4" size="1" description="Send event on pending bit" />
+      <BitField name="SLEEPDEEP" start="2" size="1" description="Controls whether the processor uses sleep or deep sleep as its low power mode" />
+      <BitField name="SLEEPONEXIT" start="1" size="1" description="Indicates sleep-on-exit when returning from Handler mode to Thread mode" />
+    </Register>
+    <Register name="CCR" start="0xE000ED14" access="ReadOnly" description="Configuration and Control Register">
+      <BitField name="STKALIGN" start="9" size="1" description="Indicates stack alignment on exception entry" />
+      <BitField name="UNALIGN_TRP" start="3" size="1" description="Enables unaligned access traps" />
+    </Register>
+    <Register name="SHPR2" start="0xE000ED1C" description="System Handler Priority Register 2">
+      <BitField name="PRI_11" start="30" size="2" description="Priority of system handler 11 (SVCall)" />
+    </Register>
+    <Register name="SHPR3" start="0xE000ED20" description="System Handler Priority Register 3">
+      <BitField name="PRI_15" start="30" size="2" description="Priority of system handler 15 (SysTick)" />
+      <BitField name="PRI_14" start="22" size="2" description="Priority of system handler 14 (PendSV)" />
+    </Register>
+    <Register name="SHCSR" start="0xE000ED24" description="System Handler Control and State Register">
+      <BitField name="SVCALLPENDED" start="15" size="1" description="SVCall Pending Bit" />
+    </Register>
+    <Register name="DFSR" start="0xE000ED30" description="Debug Fault Status Register">
+      <BitField name="EXTERNAL" start="4" size="1" description="" />
+      <BitField name="VCATCH" start="3" size="1" description="" />
+      <BitField name="DWTTRAP" start="2" size="1" description="" />
+      <BitField name="BKPT" start="1" size="1" description="" />
+      <BitField name="HALTED" start="0" size="1" description="" />
+    </Register>
+  </RegisterGroup>
+</Processor>

+ 331 - 0
examples/device_composite_freertos/ses/samd21/ATSAMD21G18A_Vectors.s

@@ -0,0 +1,331 @@
+/*****************************************************************************
+ *                   SEGGER Microcontroller GmbH & Co. KG                    *
+ *            Solutions for real time microcontroller applications           *
+ *****************************************************************************
+ *                                                                           *
+ *               (c) 2017 SEGGER Microcontroller GmbH & Co. KG               *
+ *                                                                           *
+ *           Internet: www.segger.com   Support: support@segger.com          *
+ *                                                                           *
+ *****************************************************************************/
+
+/*****************************************************************************
+ *                         Preprocessor Definitions                          *
+ *                         ------------------------                          *
+ * VECTORS_IN_RAM                                                            *
+ *                                                                           *
+ *   If defined, an area of RAM will large enough to store the vector table  *
+ *   will be reserved.                                                       *
+ *                                                                           *
+ *****************************************************************************/
+
+  .syntax unified
+  .code 16
+
+  .section .init, "ax"
+  .align 0
+
+/*****************************************************************************
+ * Default Exception Handlers                                                *
+ *****************************************************************************/
+
+  .thumb_func
+  .weak NMI_Handler
+NMI_Handler:
+  b .
+
+  .thumb_func
+  .weak HardFault_Handler
+HardFault_Handler:
+  b .
+
+  .thumb_func
+  .weak SVC_Handler
+SVC_Handler:
+  b .
+
+  .thumb_func
+  .weak PendSV_Handler
+PendSV_Handler:
+  b .
+
+  .thumb_func
+  .weak SysTick_Handler
+SysTick_Handler:
+  b .
+
+  .thumb_func
+Dummy_Handler:
+  b .
+
+#if defined(__OPTIMIZATION_SMALL)
+
+  .weak PM_Handler
+  .thumb_set PM_Handler,Dummy_Handler
+
+  .weak SYSCTRL_Handler
+  .thumb_set SYSCTRL_Handler,Dummy_Handler
+
+  .weak WDT_Handler
+  .thumb_set WDT_Handler,Dummy_Handler
+
+  .weak RTC_Handler
+  .thumb_set RTC_Handler,Dummy_Handler
+
+  .weak EIC_Handler
+  .thumb_set EIC_Handler,Dummy_Handler
+
+  .weak NVMCTRL_Handler
+  .thumb_set NVMCTRL_Handler,Dummy_Handler
+
+  .weak DMAC_Handler
+  .thumb_set DMAC_Handler,Dummy_Handler
+
+  .weak USB_Handler
+  .thumb_set USB_Handler,Dummy_Handler
+
+  .weak EVSYS_Handler
+  .thumb_set EVSYS_Handler,Dummy_Handler
+
+  .weak SERCOM0_Handler
+  .thumb_set SERCOM0_Handler,Dummy_Handler
+
+  .weak SERCOM1_Handler
+  .thumb_set SERCOM1_Handler,Dummy_Handler
+
+  .weak SERCOM2_Handler
+  .thumb_set SERCOM2_Handler,Dummy_Handler
+
+  .weak SERCOM3_Handler
+  .thumb_set SERCOM3_Handler,Dummy_Handler
+
+  .weak SERCOM4_Handler
+  .thumb_set SERCOM4_Handler,Dummy_Handler
+
+  .weak SERCOM5_Handler
+  .thumb_set SERCOM5_Handler,Dummy_Handler
+
+  .weak TCC0_Handler
+  .thumb_set TCC0_Handler,Dummy_Handler
+
+  .weak TCC1_Handler
+  .thumb_set TCC1_Handler,Dummy_Handler
+
+  .weak TCC2_Handler
+  .thumb_set TCC2_Handler,Dummy_Handler
+
+  .weak TC3_Handler
+  .thumb_set TC3_Handler,Dummy_Handler
+
+  .weak TC4_Handler
+  .thumb_set TC4_Handler,Dummy_Handler
+
+  .weak TC5_Handler
+  .thumb_set TC5_Handler,Dummy_Handler
+
+  .weak ADC_Handler
+  .thumb_set ADC_Handler,Dummy_Handler
+
+  .weak AC_Handler
+  .thumb_set AC_Handler,Dummy_Handler
+
+  .weak DAC_Handler
+  .thumb_set DAC_Handler,Dummy_Handler
+
+  .weak I2S_Handler
+  .thumb_set I2S_Handler,Dummy_Handler
+
+#else
+
+  .thumb_func
+  .weak PM_Handler
+PM_Handler:
+  b .
+
+  .thumb_func
+  .weak SYSCTRL_Handler
+SYSCTRL_Handler:
+  b .
+
+  .thumb_func
+  .weak WDT_Handler
+WDT_Handler:
+  b .
+
+  .thumb_func
+  .weak RTC_Handler
+RTC_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_Handler
+EIC_Handler:
+  b .
+
+  .thumb_func
+  .weak NVMCTRL_Handler
+NVMCTRL_Handler:
+  b .
+
+  .thumb_func
+  .weak DMAC_Handler
+DMAC_Handler:
+  b .
+
+  .thumb_func
+  .weak USB_Handler
+USB_Handler:
+  b .
+
+  .thumb_func
+  .weak EVSYS_Handler
+EVSYS_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM0_Handler
+SERCOM0_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM1_Handler
+SERCOM1_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM2_Handler
+SERCOM2_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM3_Handler
+SERCOM3_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM4_Handler
+SERCOM4_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM5_Handler
+SERCOM5_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC0_Handler
+TCC0_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC1_Handler
+TCC1_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC2_Handler
+TCC2_Handler:
+  b .
+
+  .thumb_func
+  .weak TC3_Handler
+TC3_Handler:
+  b .
+
+  .thumb_func
+  .weak TC4_Handler
+TC4_Handler:
+  b .
+
+  .thumb_func
+  .weak TC5_Handler
+TC5_Handler:
+  b .
+
+  .thumb_func
+  .weak ADC_Handler
+ADC_Handler:
+  b .
+
+  .thumb_func
+  .weak AC_Handler
+AC_Handler:
+  b .
+
+  .thumb_func
+  .weak DAC_Handler
+DAC_Handler:
+  b .
+
+  .thumb_func
+  .weak I2S_Handler
+I2S_Handler:
+  b .
+
+#endif
+
+/*****************************************************************************
+ * Vector Table                                                              *
+ *****************************************************************************/
+
+  .section .vectors, "ax"
+  .align 0
+  .global _vectors
+  .extern __stack_end__
+  .extern Reset_Handler
+
+_vectors:
+  .word __stack_end__
+  .word Reset_Handler
+  .word NMI_Handler
+  .word HardFault_Handler
+  .word 0 /* Reserved */
+  .word 0 /* Reserved */
+  .word 0 /* Reserved */
+  .word 0 /* Reserved */
+  .word 0 /* Reserved */
+  .word 0 /* Reserved */
+  .word 0 /* Reserved */
+  .word SVC_Handler
+  .word 0 /* Reserved */
+  .word 0 /* Reserved */
+  .word PendSV_Handler
+  .word SysTick_Handler
+  .word PM_Handler
+  .word SYSCTRL_Handler
+  .word WDT_Handler
+  .word RTC_Handler
+  .word EIC_Handler
+  .word NVMCTRL_Handler
+  .word DMAC_Handler
+  .word USB_Handler
+  .word EVSYS_Handler
+  .word SERCOM0_Handler
+  .word SERCOM1_Handler
+  .word SERCOM2_Handler
+  .word SERCOM3_Handler
+  .word SERCOM4_Handler
+  .word SERCOM5_Handler
+  .word TCC0_Handler
+  .word TCC1_Handler
+  .word TCC2_Handler
+  .word TC3_Handler
+  .word TC4_Handler
+  .word TC5_Handler
+  .word Dummy_Handler /* Reserved */
+  .word Dummy_Handler /* Reserved */
+  .word ADC_Handler
+  .word AC_Handler
+  .word DAC_Handler
+  .word Dummy_Handler /* Reserved */
+  .word I2S_Handler
+_vectors_end:
+
+#ifdef VECTORS_IN_RAM
+  .section .vectors_ram, "ax"
+  .align 0
+  .global _vectors_ram
+
+_vectors_ram:
+  .space _vectors_end - _vectors, 0
+#endif

+ 114 - 0
examples/device_composite_freertos/ses/samd21/SAMD21_Startup.s

@@ -0,0 +1,114 @@
+/*****************************************************************************
+ *                   SEGGER Microcontroller GmbH & Co. KG                    *
+ *            Solutions for real time microcontroller applications           *
+ *****************************************************************************
+ *                                                                           *
+ *               (c) 2017 SEGGER Microcontroller GmbH & Co. KG               *
+ *                                                                           *
+ *           Internet: www.segger.com   Support: support@segger.com          *
+ *                                                                           *
+ *****************************************************************************/
+
+/*****************************************************************************
+ *                         Preprocessor Definitions                          *
+ *                         ------------------------                          *
+ * NO_STACK_INIT                                                             *
+ *                                                                           *
+ *   If defined, the stack pointer will not be initialised.                  *
+ *                                                                           *
+ * NO_SYSTEM_INIT                                                            *
+ *                                                                           *
+ *   If defined, the SystemInit() function will not be called. By default    *
+ *   SystemInit() is called after reset to enable the clocks and memories to *
+ *   be initialised prior to any C startup initialisation.                   *
+ *                                                                           *
+ * NO_VTOR_CONFIG                                                            *
+ *                                                                           *
+ *   If defined, the vector table offset register will not be configured.    *
+ *                                                                           *
+ * MEMORY_INIT                                                               *
+ *                                                                           *
+ *   If defined, the MemoryInit() function will be called. By default        *
+ *   MemoryInit() is called after SystemInit() to enable an external memory  *
+ *   controller.                                                             *
+ *                                                                           *
+ * STACK_INIT_VAL                                                            *
+ *                                                                           *
+ *   If defined, specifies the initial stack pointer value. If undefined,    *
+ *   the stack pointer will be initialised to point to the end of the        *
+ *   RAM segment.                                                            *
+ *                                                                           *
+ * VECTORS_IN_RAM                                                            *
+ *                                                                           *
+ *   If defined, the exception vectors will be copied from Flash to RAM.     *
+ *                                                                           *
+ *****************************************************************************/
+
+  .syntax unified
+
+  .global Reset_Handler
+  .extern _vectors
+
+  .section .init, "ax"
+  .thumb_func
+
+  .equ VTOR_REG, 0xE000ED08
+
+#ifndef STACK_INIT_VAL
+#define STACK_INIT_VAL __RAM_segment_end__
+#endif
+
+Reset_Handler:
+#ifndef NO_STACK_INIT
+  /* Initialise main stack */
+  ldr r0, =STACK_INIT_VAL
+  ldr r1, =0x7
+  bics r0, r1
+  mov sp, r0
+#endif
+
+#ifndef NO_SYSTEM_INIT
+  /* Initialise system */
+  ldr r0, =SystemInit
+  blx r0
+  .pushsection .init_array, "aw", %init_array
+  .word SystemCoreClockUpdate
+  .popsection
+#endif
+
+#ifdef MEMORY_INIT
+  ldr r0, =MemoryInit
+  blx r0
+#endif
+
+#ifdef VECTORS_IN_RAM
+  /* Copy exception vectors into RAM */
+  ldr r0, =__vectors_start__
+  ldr r1, =__vectors_end__
+  ldr r2, =__vectors_ram_start__
+1:
+  cmp r0, r1
+  beq 2f
+  ldr r3, [r0]
+  str r3, [r2]
+  adds r0, r0, #4
+  adds r2, r2, #4
+  b 1b
+2:
+#endif
+
+#ifndef NO_VTOR_CONFIG
+  /* Configure vector table offset register */
+  ldr r0, =VTOR_REG
+#ifdef VECTORS_IN_RAM
+  ldr r1, =_vectors_ram
+#else
+  ldr r1, =_vectors
+#endif
+  str r1, [r0]
+#endif
+
+  /* Jump to program start */
+  b _start
+
+

+ 19 - 0
examples/device_composite_freertos/ses/samd21/SAMD21_Target.js

@@ -0,0 +1,19 @@
+/*****************************************************************************
+ *                   SEGGER Microcontroller GmbH & Co. KG                    *
+ *            Solutions for real time microcontroller applications           *
+ *****************************************************************************
+ *                                                                           *
+ *               (c) 2017 SEGGER Microcontroller GmbH & Co. KG               *
+ *                                                                           *
+ *           Internet: www.segger.com   Support: support@segger.com          *
+ *                                                                           *
+ *****************************************************************************/
+
+function Reset() {
+  TargetInterface.resetAndStop();
+}
+
+function EnableTrace(traceInterfaceType) {
+  // TODO: Enable trace
+}
+

+ 37 - 0
examples/device_composite_freertos/ses/samd21/flash_placement.xml

@@ -0,0 +1,37 @@
+<!DOCTYPE Linker_Placement_File>
+<Root name="Flash Section Placement">
+  <MemorySegment name="$(FLASH_NAME:FLASH)">
+    <ProgramSection alignment="0x100" load="Yes" name=".vectors" start="$(FLASH_START:)" />
+    <ProgramSection alignment="4" load="Yes" name=".init" />
+    <ProgramSection alignment="4" load="Yes" name=".init_rodata" />
+    <ProgramSection alignment="4" load="Yes" name=".text" />
+    <ProgramSection alignment="4" load="Yes" name=".dtors" />
+    <ProgramSection alignment="4" load="Yes" name=".ctors" />
+    <ProgramSection alignment="4" load="Yes" name=".rodata" />
+    <ProgramSection alignment="4" load="Yes" name=".ARM.exidx" address_symbol="__exidx_start" end_symbol="__exidx_end" />
+    <ProgramSection alignment="4" load="Yes" runin=".fast_run" name=".fast" />
+    <ProgramSection alignment="4" load="Yes" runin=".data_run" name=".data" />
+    <ProgramSection alignment="4" load="Yes" runin=".tdata_run" name=".tdata" />
+  </MemorySegment>
+  <MemorySegment name="$(RAM_NAME:RAM);SRAM">
+    <ProgramSection alignment="0x100" load="No" name=".vectors_ram" start="$(RAM_START:$(SRAM_START:))" />
+    <ProgramSection alignment="4" load="No" name=".fast_run" />
+    <ProgramSection alignment="4" load="No" name=".data_run" />
+    <ProgramSection alignment="4" load="No" name=".bss" />
+    <ProgramSection alignment="4" load="No" name=".tbss" />
+    <ProgramSection alignment="4" load="No" name=".tdata_run" />
+    <ProgramSection alignment="4" load="No" name=".non_init" />
+    <ProgramSection alignment="4" size="__HEAPSIZE__" load="No" name=".heap" />
+    <ProgramSection alignment="8" size="__STACKSIZE__" load="No" place_from_segment_end="Yes" name=".stack" />
+    <ProgramSection alignment="8" size="__STACKSIZE_PROCESS__" load="No" name=".stack_process" />
+  </MemorySegment>
+  <MemorySegment name="$(FLASH2_NAME:FLASH2)">
+    <ProgramSection alignment="4" load="Yes" name=".text2" />
+    <ProgramSection alignment="4" load="Yes" name=".rodata2" />
+    <ProgramSection alignment="4" load="Yes" runin=".data2_run" name=".data2" />
+  </MemorySegment>
+  <MemorySegment name="$(RAM2_NAME:RAM2)">
+    <ProgramSection alignment="4" load="No" name=".data2_run" />
+    <ProgramSection alignment="4" load="No" name=".bss2" />
+  </MemorySegment>
+</Root>

+ 103 - 0
examples/device_composite_freertos/ses/samd21/samd21.emProject

@@ -0,0 +1,103 @@
+<!DOCTYPE CrossStudio_Project_File>
+<solution Name="samd21" target="8" version="2">
+  <project Name="samd21">
+    <configuration
+      Name="Common"
+      Placement="Flash"
+      Target="nRF52840_xxAA"
+      arm_architecture="v6M"
+      arm_core_type="Cortex-M0+"
+      arm_endian="Little"
+      arm_fpu_type="None"
+      arm_interwork="No"
+      arm_linker_heap_size="1024"
+      arm_linker_process_stack_size="0"
+      arm_linker_stack_size="1024"
+      arm_simulator_memory_simulation_parameter="RX 00000000,00080000,FFFFFFFF;RWX 20000000,00030000,CDCDCDCD"
+      arm_target_debug_interface_type="ADIv5"
+      arm_target_device_name="ATSAMD21G18A"
+      arm_target_interface_type="SWD"
+      build_treat_warnings_as_errors="Yes"
+      c_preprocessor_definitions="__SAMD21G18A__;__SAMD21_FAMILY;__SAM_D21_SUBFAMILY;ARM_MATH_CM0PLUS;FLASH_PLACEMENT=1;USE_SIMPLE_ASSERT;CONF_XOSC32K_CONFIG=1;CONF_OSC32K_ENABLE=1;CONF_OSC32K_EN32K=1;CONF_XOSC32K_STARTUP=CONF_XOSC32K_STARTUP_TIME_2000092MCS;CONF_DFLL_ONDEMAND=0;CONF_DFLL_OVERWRITE_CALIBRATION=0;BOARD_METRO_M0_EXPRESS;CFG_TUSB_MCU=OPT_MCU_SAMD21"
+      c_user_include_directories="../../src;$(rootDir)/hw/cmsis/Include;$(rootDir)/hw;$(rootDir)/src;$(asf4Dir);$(asf4Dir)/include;$(asf4Dir)/config;$(asf4Dir)/hri;$(asf4Dir)/hal/include;$(asf4Dir)/hal/utils/include;$(asf4Dir)/hpl/port;$(asf4Dir)/hpl/gclk;$(asf4Dir)/hpl/pm"
+      debug_register_definition_file="ATSAMD21G18A_Registers.xml"
+      debug_target_connection="J-Link"
+      gcc_entry_point="Reset_Handler"
+      link_use_linker_script_file="No"
+      linker_memory_map_file="$(ProjectDir)/ATSAMD21G18A_MemoryMap.xml"
+      linker_section_placement_file="flash_placement.xml"
+      linker_section_placements_segments="FLASH RX 0x00000000 0x00080000;RAM RWX 0x20000000 0x00030000"
+      macros="DeviceFamily=SAMD21;Target=ATSAMD21G18A;Placement=Flash;rootDir=../../../..;asf4Dir=../../../../hw/mcu/microchip/samd/asf4/samd21"
+      project_directory=""
+      project_type="Executable"
+      target_reset_script="Reset();"
+      target_script_file="$(ProjectDir)/SAMD21_Target.js"
+      target_trace_initialize_script="EnableTrace(&quot;$(TraceInterfaceType)&quot;)" />
+    <folder
+      Name="tinyusb"
+      exclude=""
+      filter="*.c;*.h"
+      path="../../../../src"
+      recurse="Yes" />
+    <folder Name="hw">
+      <folder Name="bsp">
+        <file file_name="../../../../hw/bsp/ansi_escape.h" />
+        <file file_name="../../../../hw/bsp/board.h" />
+        <folder Name="metro_m0_express">
+          <file file_name="../../../../hw/bsp/metro_m0_express/board_metro_m0_express.c" />
+          <file file_name="../../../../hw/bsp/metro_m0_express/board_metro_m0_express.h" />
+        </folder>
+      </folder>
+      <folder Name="mcu">
+        <folder Name="microchip">
+          <folder Name="samd">
+            <folder Name="asf4">
+              <folder Name="samd21">
+                <folder Name="gcc">
+                  <file file_name="../../../../hw/mcu/microchip/samd/asf4/samd21/gcc/system_samd21.c" />
+                </folder>
+                <folder Name="hpl">
+                  <folder Name="core">
+                    <file file_name="../../../../hw/mcu/microchip/samd/asf4/samd21/hpl/core/hpl_init.c" />
+                  </folder>
+                  <folder Name="gclk">
+                    <file file_name="../../../../hw/mcu/microchip/samd/asf4/samd21/hpl/gclk/hpl_gclk.c" />
+                  </folder>
+                  <folder Name="pm">
+                    <file file_name="../../../../hw/mcu/microchip/samd/asf4/samd21/hpl/pm/hpl_pm.c" />
+                  </folder>
+                  <folder Name="sysctrl">
+                    <file file_name="../../../../hw/mcu/microchip/samd/asf4/samd21/hpl/sysctrl/hpl_sysctrl.c" />
+                  </folder>
+                </folder>
+              </folder>
+            </folder>
+          </folder>
+        </folder>
+      </folder>
+    </folder>
+    <configuration Name="Debug" build_treat_warnings_as_errors="Yes" />
+    <folder
+      Name="src"
+      exclude=""
+      filter="*.c;*.h"
+      path="../../src"
+      recurse="Yes" />
+    <folder Name="System Files">
+      <file file_name="ATSAMD21G18A_MemoryMap.xml" />
+      <file file_name="ATSAMD21G18A_Registers.xml" />
+      <file file_name="ATSAMD21G18A_Vectors.s" />
+      <file file_name="flash_placement.xml" />
+      <file file_name="SAMD21_Startup.s" />
+      <file file_name="SAMD21_Target.js" />
+      <file file_name="thumb_crt0.s" />
+    </folder>
+    <folder
+      Name="segger_rtt"
+      exclude=""
+      filter="*.c;*.h"
+      path="../../../../lib/segger_rtt"
+      recurse="No" />
+  </project>
+  <configuration Name="Metro M0 Express" />
+</solution>

+ 415 - 0
examples/device_composite_freertos/ses/samd21/thumb_crt0.s

@@ -0,0 +1,415 @@
+// **********************************************************************
+// *                    SEGGER Microcontroller GmbH                     *
+// *                        The Embedded Experts                        *
+// **********************************************************************
+// *                                                                    *
+// *            (c) 2014 - 2018 SEGGER Microcontroller GmbH             *
+// *            (c) 2001 - 2018 Rowley Associates Limited               *
+// *                                                                    *
+// *           www.segger.com     Support: support@segger.com           *
+// *                                                                    *
+// **********************************************************************
+// *                                                                    *
+// * All rights reserved.                                               *
+// *                                                                    *
+// * Redistribution and use in source and binary forms, with or         *
+// * without modification, are permitted provided that the following    *
+// * conditions are met:                                                *
+// *                                                                    *
+// * - Redistributions of source code must retain the above copyright   *
+// *   notice, this list of conditions and the following disclaimer.    *
+// *                                                                    *
+// * - Neither the name of SEGGER Microcontroller GmbH                  *
+// *   nor the names of its contributors may be used to endorse or      *
+// *   promote products derived from this software without specific     *
+// *   prior written permission.                                        *
+// *                                                                    *
+// * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             *
+// * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,        *
+// * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           *
+// * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           *
+// * DISCLAIMED.                                                        *
+// * IN NO EVENT SHALL SEGGER Microcontroller GmbH BE LIABLE FOR        *
+// * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR           *
+// * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT  *
+// * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;    *
+// * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF      *
+// * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT          *
+// * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE  *
+// * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH   *
+// * DAMAGE.                                                            *
+// *                                                                    *
+// **********************************************************************
+//
+//
+//                           Preprocessor Definitions
+//                           ------------------------
+// APP_ENTRY_POINT
+//
+//   Defines the application entry point function, if undefined this setting
+//   defaults to "main".
+//
+// INITIALIZE_STACK
+//
+//   If defined, the contents of the stack will be initialized to a the
+//   value 0xCC.
+//
+// INITIALIZE_SECONDARY_SECTIONS
+//
+//   If defined, the .data2, .text2, .rodata2 and .bss2 sections will be initialized.
+//
+// INITIALIZE_TCM_SECTIONS
+//
+//   If defined, the .data_tcm, .text_tcm, .rodata_tcm and .bss_tcm sections 
+//   will be initialized.
+//
+// INITIALIZE_USER_SECTIONS
+//
+//   If defined, the function InitializeUserMemorySections will be called prior
+//   to entering main in order to allow the user to initialize any user defined
+//   memory sections.
+//
+// FULL_LIBRARY
+//
+//  If defined then 
+//    - argc, argv are setup by the debug_getargs.
+//    - the exit symbol is defined and executes on return from main.
+//    - the exit symbol calls destructors, atexit functions and then debug_exit.
+//  
+//  If not defined then
+//    - argc and argv are zero.
+//    - the exit symbol is defined, executes on return from main and loops
+//
+
+#ifndef APP_ENTRY_POINT
+#define APP_ENTRY_POINT main
+#endif
+
+#ifndef ARGSSPACE
+#define ARGSSPACE 128
+#endif
+  .syntax unified
+
+  .global _start
+  .extern APP_ENTRY_POINT
+  .global exit
+  .weak exit
+
+#ifdef INITIALIZE_USER_SECTIONS
+  .extern InitializeUserMemorySections
+#endif
+
+  .section .init, "ax"
+  .code 16
+  .balign 2
+  .thumb_func
+
+_start:
+  /* Set up main stack if size > 0 */
+  ldr r1, =__stack_end__
+  ldr r0, =__stack_start__
+  subs r2, r1, r0
+  beq 1f
+#ifdef __ARM_EABI__
+  movs r2, #0x7
+  bics r1, r2
+#endif
+  mov sp, r1
+#ifdef INITIALIZE_STACK
+  movs r2, #0xCC
+  ldr r0, =__stack_start__
+  bl memory_set
+#endif
+1:
+
+  /* Set up process stack if size > 0 */
+  ldr r1, =__stack_process_end__
+  ldr r0, =__stack_process_start__
+  subs r2, r1, r0
+  beq 1f
+#ifdef __ARM_EABI__
+  movs r2, #0x7
+  bics r1, r2
+#endif
+  msr psp, r1
+  movs r2, #2
+  msr control, r2
+#ifdef INITIALIZE_STACK
+  movs r2, #0xCC
+  bl memory_set
+#endif
+1:
+
+  /* Copy initialized memory sections into RAM (if necessary). */
+  ldr r0, =__data_load_start__
+  ldr r1, =__data_start__
+  ldr r2, =__data_end__
+  bl memory_copy
+  ldr r0, =__text_load_start__
+  ldr r1, =__text_start__
+  ldr r2, =__text_end__
+  bl memory_copy
+  ldr r0, =__fast_load_start__
+  ldr r1, =__fast_start__
+  ldr r2, =__fast_end__
+  bl memory_copy
+  ldr r0, =__ctors_load_start__
+  ldr r1, =__ctors_start__
+  ldr r2, =__ctors_end__
+  bl memory_copy
+  ldr r0, =__dtors_load_start__
+  ldr r1, =__dtors_start__
+  ldr r2, =__dtors_end__
+  bl memory_copy
+  ldr r0, =__rodata_load_start__
+  ldr r1, =__rodata_start__
+  ldr r2, =__rodata_end__
+  bl memory_copy
+  ldr r0, =__tdata_load_start__
+  ldr r1, =__tdata_start__
+  ldr r2, =__tdata_end__
+  bl memory_copy
+#ifdef INITIALIZE_SECONDARY_SECTIONS
+  ldr r0, =__data2_load_start__
+  ldr r1, =__data2_start__
+  ldr r2, =__data2_end__
+  bl memory_copy
+  ldr r0, =__text2_load_start__
+  ldr r1, =__text2_start__
+  ldr r2, =__text2_end__
+  bl memory_copy
+  ldr r0, =__rodata2_load_start__
+  ldr r1, =__rodata2_start__
+  ldr r2, =__rodata2_end__
+  bl memory_copy
+#endif /* #ifdef INITIALIZE_SECONDARY_SECTIONS */
+#ifdef INITIALIZE_TCM_SECTIONS
+  ldr r0, =__data_tcm_load_start__
+  ldr r1, =__data_tcm_start__
+  ldr r2, =__data_tcm_end__
+  bl memory_copy
+  ldr r0, =__text_tcm_load_start__
+  ldr r1, =__text_tcm_start__
+  ldr r2, =__text_tcm_end__
+  bl memory_copy
+  ldr r0, =__rodata_tcm_load_start__
+  ldr r1, =__rodata_tcm_start__
+  ldr r2, =__rodata_tcm_end__
+  bl memory_copy
+#endif /* #ifdef INITIALIZE_TCM_SECTIONS */
+
+  /* Zero the bss. */
+  ldr r0, =__bss_start__
+  ldr r1, =__bss_end__
+  movs r2, #0
+  bl memory_set
+  ldr r0, =__tbss_start__
+  ldr r1, =__tbss_end__
+  movs r2, #0
+  bl memory_set
+#ifdef INITIALIZE_SECONDARY_SECTIONS
+  ldr r0, =__bss2_start__
+  ldr r1, =__bss2_end__
+  mov r2, #0
+  bl memory_set
+#endif /* #ifdef INITIALIZE_SECONDARY_SECTIONS */
+#ifdef INITIALIZE_TCM_SECTIONS
+  ldr r0, =__bss_tcm_start__
+  ldr r1, =__bss_tcm_end__
+  mov r2, #0
+  bl memory_set
+#endif /* #ifdef INITIALIZE_TCM_SECTIONS */
+
+  /* Initialize the heap */
+  ldr r0, = __heap_start__
+  ldr r1, = __heap_end__
+  subs r1, r1, r0
+  cmp r1, #8
+  blt 1f
+  movs r2, #0
+  str r2, [r0]
+  adds r0, r0, #4
+  str r1, [r0]
+1:
+
+#ifdef INITIALIZE_USER_SECTIONS
+  ldr r2, =InitializeUserMemorySections
+  blx r2
+#endif
+
+  /* Call constructors */
+  ldr r0, =__ctors_start__
+  ldr r1, =__ctors_end__
+ctor_loop:
+  cmp r0, r1
+  beq ctor_end
+  ldr r2, [r0]
+  adds r0, #4
+  push {r0-r1}  
+  blx r2
+  pop {r0-r1}
+  b ctor_loop
+ctor_end:
+
+  /* Setup initial call frame */
+  movs r0, #0
+  mov lr, r0
+  mov r12, sp
+
+  .type start, function
+start:
+  /* Jump to application entry point */
+#ifdef FULL_LIBRARY
+  movs r0, #ARGSSPACE
+  ldr r1, =args
+  ldr r2, =debug_getargs  
+  blx r2
+  ldr r1, =args
+#else
+  movs r0, #0
+  movs r1, #0
+#endif
+  ldr r2, =APP_ENTRY_POINT
+  blx r2
+
+  .thumb_func
+exit:
+#ifdef FULL_LIBRARY  
+  mov r5, r0 // save the exit parameter/return result
+
+  /* Call destructors */
+  ldr r0, =__dtors_start__
+  ldr r1, =__dtors_end__
+dtor_loop:
+  cmp r0, r1
+  beq dtor_end
+  ldr r2, [r0]
+  add r0, #4
+  push {r0-r1}
+  blx r2
+  pop {r0-r1}
+  b dtor_loop
+dtor_end:
+
+  /* Call atexit functions */
+  ldr r2, =_execute_at_exit_fns  
+  blx r2
+
+  /* Call debug_exit with return result/exit parameter */
+  mov r0, r5
+  ldr r2, =debug_exit  
+  blx r2
+#endif
+
+  /* Returned from application entry point, loop forever. */
+exit_loop:
+  b exit_loop
+
+  .thumb_func
+memory_copy:
+  cmp r0, r1
+  beq 2f
+  subs r2, r2, r1
+  beq 2f
+1:
+  ldrb r3, [r0]
+  adds r0, r0, #1
+  strb r3, [r1]
+  adds r1, r1, #1
+  subs r2, r2, #1
+  bne 1b
+2:
+  bx lr
+
+  .thumb_func
+memory_set:
+  cmp r0, r1
+  beq 1f
+  strb r2, [r0]
+  adds r0, r0, #1
+  b memory_set
+1:
+  bx lr
+
+  // default C/C++ library helpers
+
+.macro HELPER helper_name
+  .section .text.\helper_name, "ax", %progbits
+  .balign 2
+  .global \helper_name
+  .weak \helper_name  
+\helper_name:
+  .thumb_func
+.endm
+
+.macro JUMPTO name
+#if defined(__thumb__) && !defined(__thumb2__)
+  mov r12, r0
+  ldr r0, =\name
+  push {r0}
+  mov r0, r12
+  pop {pc}
+#else
+  b \name
+#endif
+.endm
+
+HELPER __aeabi_read_tp
+  ldr r0, =__tbss_start__-8
+  bx lr
+HELPER abort
+  b .
+HELPER __assert
+  b .
+HELPER __aeabi_assert
+  b .
+HELPER __sync_synchronize
+  bx lr
+HELPER __getchar
+  JUMPTO debug_getchar
+HELPER __putchar
+  JUMPTO debug_putchar
+HELPER __open
+  JUMPTO debug_fopen
+HELPER __close
+  JUMPTO debug_fclose
+HELPER __write   
+  mov r3, r0
+  mov r0, r1
+  movs r1, #1  
+  JUMPTO debug_fwrite
+HELPER __read  
+  mov r3, r0
+  mov r0, r1
+  movs r1, #1 
+  JUMPTO debug_fread
+HELPER __seek
+  push {r4, lr}
+  mov r4, r0
+  bl debug_fseek
+  cmp r0, #0
+  bne 1f
+  mov r0, r4
+  bl debug_ftell
+  pop {r4, pc}
+1:
+  ldr r0, =-1
+  pop {r4, pc}
+  // char __user_locale_name_buffer[];
+  .section .bss.__user_locale_name_buffer, "aw", %nobits
+  .global __user_locale_name_buffer
+  .weak __user_locale_name_buffer
+  __user_locale_name_buffer:
+  .word 0x0
+
+#ifdef FULL_LIBRARY
+  .bss
+args:
+  .space ARGSSPACE
+#endif
+
+  /* Setup attibutes of stack and heap sections so they don't take up room in the elf file */
+  .section .stack, "wa", %nobits
+  .section .stack_process, "wa", %nobits
+  .section .heap, "wa", %nobits
+

+ 6 - 0
examples/device_composite_freertos/ses/samd51/ATSAMD51J19A_MemoryMap.xml

@@ -0,0 +1,6 @@
+<!DOCTYPE Board_Memory_Definition_File>
+<root name="ATSAMD51J19A">
+  <MemorySegment name="FLASH" start="0x00004000" size="0x0007C000" access="ReadOnly" />
+  <MemorySegment name="RAM" start="0x20000000" size="0x00030000" access="Read/Write" />
+  <MemorySegment name="RAM2" start="0x47000000" size="0x00002000" access="Read/Write" />
+</root>

+ 23643 - 0
examples/device_composite_freertos/ses/samd51/ATSAMD51J19A_Registers.xml

@@ -0,0 +1,23643 @@
+<!DOCTYPE Register_Definition_File>
+<Processor name="ATSAMD51J19A" description="Atmel ATSAMD51J19A device: Cortex-M4 Microcontroller with 512KB Flash, 192KB SRAM, 64-pin package (refer to http://www.atmel.com/devices/SAMD51J19A.aspx for more)">
+  <RegisterGroup name="AC" start="0x42002000" description="Analog Comparators">
+    <Register start="+0x00" size="1" name="AC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+    </Register>
+    <Register start="+0x01" size="1" name="AC_CTRLB" access="WriteOnly" description="Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="START0" description="Comparator 0 Start Comparison" />
+      <BitField start="1" size="1" name="START1" description="Comparator 1 Start Comparison" />
+    </Register>
+    <Register start="+0x02" size="2" name="AC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="COMPEO0" description="Comparator 0 Event Output Enable" />
+      <BitField start="1" size="1" name="COMPEO1" description="Comparator 1 Event Output Enable" />
+      <BitField start="4" size="1" name="WINEO0" description="Window 0 Event Output Enable" />
+      <BitField start="8" size="1" name="COMPEI0" description="Comparator 0 Event Input Enable" />
+      <BitField start="9" size="1" name="COMPEI1" description="Comparator 1 Event Input Enable" />
+      <BitField start="12" size="1" name="INVEI0" description="Comparator 0 Input Event Invert Enable" />
+      <BitField start="13" size="1" name="INVEI1" description="Comparator 1 Input Event Invert Enable" />
+    </Register>
+    <Register start="+0x04" size="1" name="AC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="COMP0" description="Comparator 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="COMP1" description="Comparator 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="WIN0" description="Window 0 Interrupt Enable" />
+    </Register>
+    <Register start="+0x05" size="1" name="AC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="COMP0" description="Comparator 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="COMP1" description="Comparator 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="WIN0" description="Window 0 Interrupt Enable" />
+    </Register>
+    <Register start="+0x06" size="1" name="AC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="COMP0" description="Comparator 0" />
+      <BitField start="1" size="1" name="COMP1" description="Comparator 1" />
+      <BitField start="4" size="1" name="WIN0" description="Window 0" />
+    </Register>
+    <Register start="+0x07" size="1" name="AC_STATUSA" access="ReadOnly" description="Status A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STATE0" description="Comparator 0 Current State" />
+      <BitField start="1" size="1" name="STATE1" description="Comparator 1 Current State" />
+      <BitField start="4" size="2" name="WSTATE0" description="Window 0 Current State">
+        <Enum name="ABOVE" start="0x0" description="Signal is above window" />
+        <Enum name="INSIDE" start="0x1" description="Signal is inside window" />
+        <Enum name="BELOW" start="0x2" description="Signal is below window" />
+      </BitField>
+    </Register>
+    <Register start="+0x08" size="1" name="AC_STATUSB" access="ReadOnly" description="Status B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="READY0" description="Comparator 0 Ready" />
+      <BitField start="1" size="1" name="READY1" description="Comparator 1 Ready" />
+    </Register>
+    <Register start="+0x09" size="1" name="AC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run" />
+    </Register>
+    <Register start="+0x0A" size="1" name="AC_WINCTRL" access="Read/Write" description="Window Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="WEN0" description="Window 0 Mode Enable" />
+      <BitField start="1" size="2" name="WINTSEL0" description="Window 0 Interrupt Selection">
+        <Enum name="ABOVE" start="0x0" description="Interrupt on signal above window" />
+        <Enum name="INSIDE" start="0x1" description="Interrupt on signal inside window" />
+        <Enum name="BELOW" start="0x2" description="Interrupt on signal below window" />
+        <Enum name="OUTSIDE" start="0x3" description="Interrupt on signal outside window" />
+      </BitField>
+    </Register>
+    <Register start="+0x0C+0" size="1" name="AC_SCALER0" access="Read/Write" description="Scaler n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="VALUE" description="Scaler Value" />
+    </Register>
+    <Register start="+0x0C+1" size="1" name="AC_SCALER1" access="Read/Write" description="Scaler n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="VALUE" description="Scaler Value" />
+    </Register>
+    <Register start="+0x10+0" size="4" name="AC_COMPCTRL0" access="Read/Write" description="Comparator Control n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="1" name="SINGLE" description="Single-Shot Mode" />
+      <BitField start="3" size="2" name="INTSEL" description="Interrupt Selection">
+        <Enum name="TOGGLE" start="0x0" description="Interrupt on comparator output toggle" />
+        <Enum name="RISING" start="0x1" description="Interrupt on comparator output rising" />
+        <Enum name="FALLING" start="0x2" description="Interrupt on comparator output falling" />
+        <Enum name="EOC" start="0x3" description="Interrupt on end of comparison (single-shot mode only)" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="8" size="3" name="MUXNEG" description="Negative Input Mux Selection">
+        <Enum name="PIN0" start="0x0" description="I/O pin 0" />
+        <Enum name="PIN1" start="0x1" description="I/O pin 1" />
+        <Enum name="PIN2" start="0x2" description="I/O pin 2" />
+        <Enum name="PIN3" start="0x3" description="I/O pin 3" />
+        <Enum name="GND" start="0x4" description="Ground" />
+        <Enum name="VSCALE" start="0x5" description="VDD scaler" />
+        <Enum name="BANDGAP" start="0x6" description="Internal bandgap voltage" />
+        <Enum name="DAC" start="0x7" description="DAC output" />
+      </BitField>
+      <BitField start="12" size="3" name="MUXPOS" description="Positive Input Mux Selection">
+        <Enum name="PIN0" start="0x0" description="I/O pin 0" />
+        <Enum name="PIN1" start="0x1" description="I/O pin 1" />
+        <Enum name="PIN2" start="0x2" description="I/O pin 2" />
+        <Enum name="PIN3" start="0x3" description="I/O pin 3" />
+        <Enum name="VSCALE" start="0x4" description="VDD Scaler" />
+      </BitField>
+      <BitField start="15" size="1" name="SWAP" description="Swap Inputs and Invert" />
+      <BitField start="16" size="2" name="SPEED" description="Speed Selection">
+        <Enum name="HIGH" start="0x3" description="High speed" />
+      </BitField>
+      <BitField start="19" size="1" name="HYSTEN" description="Hysteresis Enable" />
+      <BitField start="20" size="2" name="HYST" description="Hysteresis Level">
+        <Enum name="HYST50" start="0x0" description="50mV" />
+        <Enum name="HYST100" start="0x1" description="100mV" />
+        <Enum name="HYST150" start="0x2" description="150mV" />
+      </BitField>
+      <BitField start="24" size="3" name="FLEN" description="Filter Length">
+        <Enum name="OFF" start="0x0" description="No filtering" />
+        <Enum name="MAJ3" start="0x1" description="3-bit majority function (2 of 3)" />
+        <Enum name="MAJ5" start="0x2" description="5-bit majority function (3 of 5)" />
+      </BitField>
+      <BitField start="28" size="2" name="OUT" description="Output">
+        <Enum name="OFF" start="0x0" description="The output of COMPn is not routed to the COMPn I/O port" />
+        <Enum name="ASYNC" start="0x1" description="The asynchronous output of COMPn is routed to the COMPn I/O port" />
+        <Enum name="SYNC" start="0x2" description="The synchronous output (including filtering) of COMPn is routed to the COMPn I/O port" />
+      </BitField>
+    </Register>
+    <Register start="+0x10+4" size="4" name="AC_COMPCTRL1" access="Read/Write" description="Comparator Control n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="1" name="SINGLE" description="Single-Shot Mode" />
+      <BitField start="3" size="2" name="INTSEL" description="Interrupt Selection">
+        <Enum name="TOGGLE" start="0x0" description="Interrupt on comparator output toggle" />
+        <Enum name="RISING" start="0x1" description="Interrupt on comparator output rising" />
+        <Enum name="FALLING" start="0x2" description="Interrupt on comparator output falling" />
+        <Enum name="EOC" start="0x3" description="Interrupt on end of comparison (single-shot mode only)" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="8" size="3" name="MUXNEG" description="Negative Input Mux Selection">
+        <Enum name="PIN0" start="0x0" description="I/O pin 0" />
+        <Enum name="PIN1" start="0x1" description="I/O pin 1" />
+        <Enum name="PIN2" start="0x2" description="I/O pin 2" />
+        <Enum name="PIN3" start="0x3" description="I/O pin 3" />
+        <Enum name="GND" start="0x4" description="Ground" />
+        <Enum name="VSCALE" start="0x5" description="VDD scaler" />
+        <Enum name="BANDGAP" start="0x6" description="Internal bandgap voltage" />
+        <Enum name="DAC" start="0x7" description="DAC output" />
+      </BitField>
+      <BitField start="12" size="3" name="MUXPOS" description="Positive Input Mux Selection">
+        <Enum name="PIN0" start="0x0" description="I/O pin 0" />
+        <Enum name="PIN1" start="0x1" description="I/O pin 1" />
+        <Enum name="PIN2" start="0x2" description="I/O pin 2" />
+        <Enum name="PIN3" start="0x3" description="I/O pin 3" />
+        <Enum name="VSCALE" start="0x4" description="VDD Scaler" />
+      </BitField>
+      <BitField start="15" size="1" name="SWAP" description="Swap Inputs and Invert" />
+      <BitField start="16" size="2" name="SPEED" description="Speed Selection">
+        <Enum name="HIGH" start="0x3" description="High speed" />
+      </BitField>
+      <BitField start="19" size="1" name="HYSTEN" description="Hysteresis Enable" />
+      <BitField start="20" size="2" name="HYST" description="Hysteresis Level">
+        <Enum name="HYST50" start="0x0" description="50mV" />
+        <Enum name="HYST100" start="0x1" description="100mV" />
+        <Enum name="HYST150" start="0x2" description="150mV" />
+      </BitField>
+      <BitField start="24" size="3" name="FLEN" description="Filter Length">
+        <Enum name="OFF" start="0x0" description="No filtering" />
+        <Enum name="MAJ3" start="0x1" description="3-bit majority function (2 of 3)" />
+        <Enum name="MAJ5" start="0x2" description="5-bit majority function (3 of 5)" />
+      </BitField>
+      <BitField start="28" size="2" name="OUT" description="Output">
+        <Enum name="OFF" start="0x0" description="The output of COMPn is not routed to the COMPn I/O port" />
+        <Enum name="ASYNC" start="0x1" description="The asynchronous output of COMPn is routed to the COMPn I/O port" />
+        <Enum name="SYNC" start="0x2" description="The synchronous output (including filtering) of COMPn is routed to the COMPn I/O port" />
+      </BitField>
+    </Register>
+    <Register start="+0x20" size="4" name="AC_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="WINCTRL" description="WINCTRL Synchronization Busy" />
+      <BitField start="3" size="1" name="COMPCTRL0" description="COMPCTRL 0 Synchronization Busy" />
+      <BitField start="4" size="1" name="COMPCTRL1" description="COMPCTRL 1 Synchronization Busy" />
+    </Register>
+    <Register start="+0x24" size="2" name="AC_CALIB" access="Read/Write" description="Calibration" reset_value="0x0101" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="BIAS0" description="COMP0/1 Bias Scaling" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="ADC0" start="0x43001C00" description="Analog Digital Converter 0">
+    <Register start="+0x00" size="2" name="ADC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="3" size="2" name="DUALSEL" description="Dual Mode Trigger Selection">
+        <Enum name="BOTH" start="0x0" description="Start event or software trigger will start a conversion on both ADCs" />
+        <Enum name="INTERLEAVE" start="0x1" description="START event or software trigger will alternatingly start a conversion on ADC0 and ADC1" />
+      </BitField>
+      <BitField start="5" size="1" name="SLAVEEN" description="Slave Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="On Demand Control" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler Configuration">
+        <Enum name="DIV2" start="0x0" description="Peripheral clock divided by 2" />
+        <Enum name="DIV4" start="0x1" description="Peripheral clock divided by 4" />
+        <Enum name="DIV8" start="0x2" description="Peripheral clock divided by 8" />
+        <Enum name="DIV16" start="0x3" description="Peripheral clock divided by 16" />
+        <Enum name="DIV32" start="0x4" description="Peripheral clock divided by 32" />
+        <Enum name="DIV64" start="0x5" description="Peripheral clock divided by 64" />
+        <Enum name="DIV128" start="0x6" description="Peripheral clock divided by 128" />
+        <Enum name="DIV256" start="0x7" description="Peripheral clock divided by 256" />
+      </BitField>
+      <BitField start="15" size="1" name="R2R" description="Rail to Rail Operation Enable" />
+    </Register>
+    <Register start="+0x02" size="1" name="ADC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="FLUSHEI" description="Flush Event Input Enable" />
+      <BitField start="1" size="1" name="STARTEI" description="Start Conversion Event Input Enable" />
+      <BitField start="2" size="1" name="FLUSHINV" description="Flush Event Invert Enable" />
+      <BitField start="3" size="1" name="STARTINV" description="Start Conversion Event Invert Enable" />
+      <BitField start="4" size="1" name="RESRDYEO" description="Result Ready Event Out" />
+      <BitField start="5" size="1" name="WINMONEO" description="Window Monitor Event Out" />
+    </Register>
+    <Register start="+0x03" size="1" name="ADC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run" />
+    </Register>
+    <Register start="+0x04" size="2" name="ADC_INPUTCTRL" access="Read/Write" description="Input Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="MUXPOS" description="Positive Mux Input Selection">
+        <Enum name="AIN0" start="0x0" description="ADC AIN0 Pin" />
+        <Enum name="AIN1" start="0x1" description="ADC AIN1 Pin" />
+        <Enum name="AIN2" start="0x2" description="ADC AIN2 Pin" />
+        <Enum name="AIN3" start="0x3" description="ADC AIN3 Pin" />
+        <Enum name="AIN4" start="0x4" description="ADC AIN4 Pin" />
+        <Enum name="AIN5" start="0x5" description="ADC AIN5 Pin" />
+        <Enum name="AIN6" start="0x6" description="ADC AIN6 Pin" />
+        <Enum name="AIN7" start="0x7" description="ADC AIN7 Pin" />
+        <Enum name="AIN8" start="0x8" description="ADC AIN8 Pin" />
+        <Enum name="AIN9" start="0x9" description="ADC AIN9 Pin" />
+        <Enum name="AIN10" start="0xa" description="ADC AIN10 Pin" />
+        <Enum name="AIN11" start="0xb" description="ADC AIN11 Pin" />
+        <Enum name="AIN12" start="0xc" description="ADC AIN12 Pin" />
+        <Enum name="AIN13" start="0xd" description="ADC AIN13 Pin" />
+        <Enum name="AIN14" start="0xe" description="ADC AIN14 Pin" />
+        <Enum name="AIN15" start="0xf" description="ADC AIN15 Pin" />
+        <Enum name="AIN16" start="0x10" description="ADC AIN16 Pin" />
+        <Enum name="AIN17" start="0x11" description="ADC AIN17 Pin" />
+        <Enum name="AIN18" start="0x12" description="ADC AIN18 Pin" />
+        <Enum name="AIN19" start="0x13" description="ADC AIN19 Pin" />
+        <Enum name="AIN20" start="0x14" description="ADC AIN20 Pin" />
+        <Enum name="AIN21" start="0x15" description="ADC AIN21 Pin" />
+        <Enum name="AIN22" start="0x16" description="ADC AIN22 Pin" />
+        <Enum name="AIN23" start="0x17" description="ADC AIN23 Pin" />
+        <Enum name="SCALEDCOREVCC" start="0x18" description="1/4 Scaled Core Supply" />
+        <Enum name="SCALEDVBAT" start="0x19" description="1/4 Scaled VBAT Supply" />
+        <Enum name="SCALEDIOVCC" start="0x1a" description="1/4 Scaled I/O Supply" />
+        <Enum name="BANDGAP" start="0x1b" description="Bandgap Voltage" />
+        <Enum name="PTAT" start="0x1c" description="Temperature Sensor" />
+        <Enum name="CTAT" start="0x1d" description="Temperature Sensor" />
+        <Enum name="DAC" start="0x1e" description="DAC Output" />
+        <Enum name="PTC" start="0x1f" description="PTC output (only on ADC0)" />
+      </BitField>
+      <BitField start="7" size="1" name="DIFFMODE" description="Differential Mode" />
+      <BitField start="8" size="5" name="MUXNEG" description="Negative Mux Input Selection">
+        <Enum name="AIN0" start="0x0" description="ADC AIN0 Pin" />
+        <Enum name="AIN1" start="0x1" description="ADC AIN1 Pin" />
+        <Enum name="AIN2" start="0x2" description="ADC AIN2 Pin" />
+        <Enum name="AIN3" start="0x3" description="ADC AIN3 Pin" />
+        <Enum name="AIN4" start="0x4" description="ADC AIN4 Pin" />
+        <Enum name="AIN5" start="0x5" description="ADC AIN5 Pin" />
+        <Enum name="AIN6" start="0x6" description="ADC AIN6 Pin" />
+        <Enum name="AIN7" start="0x7" description="ADC AIN7 Pin" />
+        <Enum name="GND" start="0x18" description="Internal Ground" />
+      </BitField>
+      <BitField start="15" size="1" name="DSEQSTOP" description="Stop DMA Sequencing" />
+    </Register>
+    <Register start="+0x06" size="2" name="ADC_CTRLB" access="Read/Write" description="Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="LEFTADJ" description="Left-Adjusted Result" />
+      <BitField start="1" size="1" name="FREERUN" description="Free Running Mode" />
+      <BitField start="2" size="1" name="CORREN" description="Digital Correction Logic Enable" />
+      <BitField start="3" size="2" name="RESSEL" description="Conversion Result Resolution">
+        <Enum name="12BIT" start="0x0" description="12-bit result" />
+        <Enum name="16BIT" start="0x1" description="For averaging mode output" />
+        <Enum name="10BIT" start="0x2" description="10-bit result" />
+        <Enum name="8BIT" start="0x3" description="8-bit result" />
+      </BitField>
+      <BitField start="8" size="3" name="WINMODE" description="Window Monitor Mode">
+        <Enum name="DISABLE" start="0x0" description="No window mode (default)" />
+        <Enum name="MODE1" start="0x1" description="RESULT &gt; WINLT" />
+        <Enum name="MODE2" start="0x2" description="RESULT &lt; WINUT" />
+        <Enum name="MODE3" start="0x3" description="WINLT &lt; RESULT &lt; WINUT" />
+        <Enum name="MODE4" start="0x4" description="!(WINLT &lt; RESULT &lt; WINUT)" />
+      </BitField>
+      <BitField start="11" size="1" name="WINSS" description="Window Single Sample" />
+    </Register>
+    <Register start="+0x08" size="1" name="ADC_REFCTRL" access="Read/Write" description="Reference Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="REFSEL" description="Reference Selection">
+        <Enum name="INTREF" start="0x0" description="Internal Bandgap Reference" />
+        <Enum name="INTVCC0" start="0x2" description="1/2 VDDANA" />
+        <Enum name="INTVCC1" start="0x3" description="VDDANA" />
+        <Enum name="AREFA" start="0x4" description="External Reference" />
+        <Enum name="AREFB" start="0x5" description="External Reference" />
+        <Enum name="AREFC" start="0x6" description="External Reference (only on ADC1)" />
+      </BitField>
+      <BitField start="7" size="1" name="REFCOMP" description="Reference Buffer Offset Compensation Enable" />
+    </Register>
+    <Register start="+0x0A" size="1" name="ADC_AVGCTRL" access="Read/Write" description="Average Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SAMPLENUM" description="Number of Samples to be Collected">
+        <Enum name="1" start="0x0" description="1 sample" />
+        <Enum name="2" start="0x1" description="2 samples" />
+        <Enum name="4" start="0x2" description="4 samples" />
+        <Enum name="8" start="0x3" description="8 samples" />
+        <Enum name="16" start="0x4" description="16 samples" />
+        <Enum name="32" start="0x5" description="32 samples" />
+        <Enum name="64" start="0x6" description="64 samples" />
+        <Enum name="128" start="0x7" description="128 samples" />
+        <Enum name="256" start="0x8" description="256 samples" />
+        <Enum name="512" start="0x9" description="512 samples" />
+        <Enum name="1024" start="0xa" description="1024 samples" />
+      </BitField>
+      <BitField start="4" size="3" name="ADJRES" description="Adjusting Result / Division Coefficient" />
+    </Register>
+    <Register start="+0x0B" size="1" name="ADC_SAMPCTRL" access="Read/Write" description="Sample Time Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="SAMPLEN" description="Sampling Time Length" />
+      <BitField start="7" size="1" name="OFFCOMP" description="Comparator Offset Compensation Enable" />
+    </Register>
+    <Register start="+0x0C" size="2" name="ADC_WINLT" access="Read/Write" description="Window Monitor Lower Threshold" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="WINLT" description="Window Lower Threshold" />
+    </Register>
+    <Register start="+0x0E" size="2" name="ADC_WINUT" access="Read/Write" description="Window Monitor Upper Threshold" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="WINUT" description="Window Upper Threshold" />
+    </Register>
+    <Register start="+0x10" size="2" name="ADC_GAINCORR" access="Read/Write" description="Gain Correction" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="12" name="GAINCORR" description="Gain Correction Value" />
+    </Register>
+    <Register start="+0x12" size="2" name="ADC_OFFSETCORR" access="Read/Write" description="Offset Correction" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="12" name="OFFSETCORR" description="Offset Correction Value" />
+    </Register>
+    <Register start="+0x14" size="1" name="ADC_SWTRIG" access="Read/Write" description="Software Trigger" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="FLUSH" description="ADC Conversion Flush" />
+      <BitField start="1" size="1" name="START" description="Start ADC Conversion" />
+    </Register>
+    <Register start="+0x2C" size="1" name="ADC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RESRDY" description="Result Ready Interrupt Disable" />
+      <BitField start="1" size="1" name="OVERRUN" description="Overrun Interrupt Disable" />
+      <BitField start="2" size="1" name="WINMON" description="Window Monitor Interrupt Disable" />
+    </Register>
+    <Register start="+0x2D" size="1" name="ADC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RESRDY" description="Result Ready Interrupt Enable" />
+      <BitField start="1" size="1" name="OVERRUN" description="Overrun Interrupt Enable" />
+      <BitField start="2" size="1" name="WINMON" description="Window Monitor Interrupt Enable" />
+    </Register>
+    <Register start="+0x2E" size="1" name="ADC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RESRDY" description="Result Ready Interrupt Flag" />
+      <BitField start="1" size="1" name="OVERRUN" description="Overrun Interrupt Flag" />
+      <BitField start="2" size="1" name="WINMON" description="Window Monitor Interrupt Flag" />
+    </Register>
+    <Register start="+0x2F" size="1" name="ADC_STATUS" access="ReadOnly" description="Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ADCBUSY" description="ADC Busy Status" />
+      <BitField start="2" size="6" name="WCC" description="Window Comparator Counter" />
+    </Register>
+    <Register start="+0x30" size="4" name="ADC_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="SWRST Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="ENABLE Synchronization Busy" />
+      <BitField start="2" size="1" name="INPUTCTRL" description="Input Control Synchronization Busy" />
+      <BitField start="3" size="1" name="CTRLB" description="Control B Synchronization Busy" />
+      <BitField start="4" size="1" name="REFCTRL" description="Reference Control Synchronization Busy" />
+      <BitField start="5" size="1" name="AVGCTRL" description="Average Control Synchronization Busy" />
+      <BitField start="6" size="1" name="SAMPCTRL" description="Sampling Time Control Synchronization Busy" />
+      <BitField start="7" size="1" name="WINLT" description="Window Monitor Lower Threshold Synchronization Busy" />
+      <BitField start="8" size="1" name="WINUT" description="Window Monitor Upper Threshold Synchronization Busy" />
+      <BitField start="9" size="1" name="GAINCORR" description="Gain Correction Synchronization Busy" />
+      <BitField start="10" size="1" name="OFFSETCORR" description="Offset Correction Synchronization Busy" />
+      <BitField start="11" size="1" name="SWTRIG" description="Software Trigger Synchronization Busy" />
+    </Register>
+    <Register start="+0x34" size="4" name="ADC_DSEQDATA" access="WriteOnly" description="DMA Sequencial Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="DMA Sequential Data" />
+    </Register>
+    <Register start="+0x38" size="4" name="ADC_DSEQCTRL" access="Read/Write" description="DMA Sequential Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INPUTCTRL" description="Input Control" />
+      <BitField start="1" size="1" name="CTRLB" description="Control B" />
+      <BitField start="2" size="1" name="REFCTRL" description="Reference Control" />
+      <BitField start="3" size="1" name="AVGCTRL" description="Average Control" />
+      <BitField start="4" size="1" name="SAMPCTRL" description="Sampling Time Control" />
+      <BitField start="5" size="1" name="WINLT" description="Window Monitor Lower Threshold" />
+      <BitField start="6" size="1" name="WINUT" description="Window Monitor Upper Threshold" />
+      <BitField start="7" size="1" name="GAINCORR" description="Gain Correction" />
+      <BitField start="8" size="1" name="OFFSETCORR" description="Offset Correction" />
+      <BitField start="31" size="1" name="AUTOSTART" description="ADC Auto-Start Conversion" />
+    </Register>
+    <Register start="+0x3C" size="4" name="ADC_DSEQSTAT" access="ReadOnly" description="DMA Sequencial Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INPUTCTRL" description="Input Control" />
+      <BitField start="1" size="1" name="CTRLB" description="Control B" />
+      <BitField start="2" size="1" name="REFCTRL" description="Reference Control" />
+      <BitField start="3" size="1" name="AVGCTRL" description="Average Control" />
+      <BitField start="4" size="1" name="SAMPCTRL" description="Sampling Time Control" />
+      <BitField start="5" size="1" name="WINLT" description="Window Monitor Lower Threshold" />
+      <BitField start="6" size="1" name="WINUT" description="Window Monitor Upper Threshold" />
+      <BitField start="7" size="1" name="GAINCORR" description="Gain Correction" />
+      <BitField start="8" size="1" name="OFFSETCORR" description="Offset Correction" />
+      <BitField start="31" size="1" name="BUSY" description="DMA Sequencing Busy" />
+    </Register>
+    <Register start="+0x40" size="2" name="ADC_RESULT" access="ReadOnly" description="Result Conversion Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="RESULT" description="Result Conversion Value" />
+    </Register>
+    <Register start="+0x44" size="2" name="ADC_RESS" access="ReadOnly" description="Last Sample Result" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="RESS" description="Last ADC conversion result" />
+    </Register>
+    <Register start="+0x48" size="2" name="ADC_CALIB" access="Read/Write" description="Calibration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="BIASCOMP" description="Bias Comparator Scaling" />
+      <BitField start="4" size="3" name="BIASR2R" description="Bias R2R Ampli scaling" />
+      <BitField start="8" size="3" name="BIASREFBUF" description="Bias  Reference Buffer Scaling" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="ADC1" start="0x43002000" description="Analog Digital Converter 1">
+    <Register start="+0x00" size="2" name="ADC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="3" size="2" name="DUALSEL" description="Dual Mode Trigger Selection">
+        <Enum name="BOTH" start="0x0" description="Start event or software trigger will start a conversion on both ADCs" />
+        <Enum name="INTERLEAVE" start="0x1" description="START event or software trigger will alternatingly start a conversion on ADC0 and ADC1" />
+      </BitField>
+      <BitField start="5" size="1" name="SLAVEEN" description="Slave Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="On Demand Control" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler Configuration">
+        <Enum name="DIV2" start="0x0" description="Peripheral clock divided by 2" />
+        <Enum name="DIV4" start="0x1" description="Peripheral clock divided by 4" />
+        <Enum name="DIV8" start="0x2" description="Peripheral clock divided by 8" />
+        <Enum name="DIV16" start="0x3" description="Peripheral clock divided by 16" />
+        <Enum name="DIV32" start="0x4" description="Peripheral clock divided by 32" />
+        <Enum name="DIV64" start="0x5" description="Peripheral clock divided by 64" />
+        <Enum name="DIV128" start="0x6" description="Peripheral clock divided by 128" />
+        <Enum name="DIV256" start="0x7" description="Peripheral clock divided by 256" />
+      </BitField>
+      <BitField start="15" size="1" name="R2R" description="Rail to Rail Operation Enable" />
+    </Register>
+    <Register start="+0x02" size="1" name="ADC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="FLUSHEI" description="Flush Event Input Enable" />
+      <BitField start="1" size="1" name="STARTEI" description="Start Conversion Event Input Enable" />
+      <BitField start="2" size="1" name="FLUSHINV" description="Flush Event Invert Enable" />
+      <BitField start="3" size="1" name="STARTINV" description="Start Conversion Event Invert Enable" />
+      <BitField start="4" size="1" name="RESRDYEO" description="Result Ready Event Out" />
+      <BitField start="5" size="1" name="WINMONEO" description="Window Monitor Event Out" />
+    </Register>
+    <Register start="+0x03" size="1" name="ADC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run" />
+    </Register>
+    <Register start="+0x04" size="2" name="ADC_INPUTCTRL" access="Read/Write" description="Input Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="MUXPOS" description="Positive Mux Input Selection">
+        <Enum name="AIN0" start="0x0" description="ADC AIN0 Pin" />
+        <Enum name="AIN1" start="0x1" description="ADC AIN1 Pin" />
+        <Enum name="AIN2" start="0x2" description="ADC AIN2 Pin" />
+        <Enum name="AIN3" start="0x3" description="ADC AIN3 Pin" />
+        <Enum name="AIN4" start="0x4" description="ADC AIN4 Pin" />
+        <Enum name="AIN5" start="0x5" description="ADC AIN5 Pin" />
+        <Enum name="AIN6" start="0x6" description="ADC AIN6 Pin" />
+        <Enum name="AIN7" start="0x7" description="ADC AIN7 Pin" />
+        <Enum name="AIN8" start="0x8" description="ADC AIN8 Pin" />
+        <Enum name="AIN9" start="0x9" description="ADC AIN9 Pin" />
+        <Enum name="AIN10" start="0xa" description="ADC AIN10 Pin" />
+        <Enum name="AIN11" start="0xb" description="ADC AIN11 Pin" />
+        <Enum name="AIN12" start="0xc" description="ADC AIN12 Pin" />
+        <Enum name="AIN13" start="0xd" description="ADC AIN13 Pin" />
+        <Enum name="AIN14" start="0xe" description="ADC AIN14 Pin" />
+        <Enum name="AIN15" start="0xf" description="ADC AIN15 Pin" />
+        <Enum name="AIN16" start="0x10" description="ADC AIN16 Pin" />
+        <Enum name="AIN17" start="0x11" description="ADC AIN17 Pin" />
+        <Enum name="AIN18" start="0x12" description="ADC AIN18 Pin" />
+        <Enum name="AIN19" start="0x13" description="ADC AIN19 Pin" />
+        <Enum name="AIN20" start="0x14" description="ADC AIN20 Pin" />
+        <Enum name="AIN21" start="0x15" description="ADC AIN21 Pin" />
+        <Enum name="AIN22" start="0x16" description="ADC AIN22 Pin" />
+        <Enum name="AIN23" start="0x17" description="ADC AIN23 Pin" />
+        <Enum name="SCALEDCOREVCC" start="0x18" description="1/4 Scaled Core Supply" />
+        <Enum name="SCALEDVBAT" start="0x19" description="1/4 Scaled VBAT Supply" />
+        <Enum name="SCALEDIOVCC" start="0x1a" description="1/4 Scaled I/O Supply" />
+        <Enum name="BANDGAP" start="0x1b" description="Bandgap Voltage" />
+        <Enum name="PTAT" start="0x1c" description="Temperature Sensor" />
+        <Enum name="CTAT" start="0x1d" description="Temperature Sensor" />
+        <Enum name="DAC" start="0x1e" description="DAC Output" />
+        <Enum name="PTC" start="0x1f" description="PTC output (only on ADC0)" />
+      </BitField>
+      <BitField start="7" size="1" name="DIFFMODE" description="Differential Mode" />
+      <BitField start="8" size="5" name="MUXNEG" description="Negative Mux Input Selection">
+        <Enum name="AIN0" start="0x0" description="ADC AIN0 Pin" />
+        <Enum name="AIN1" start="0x1" description="ADC AIN1 Pin" />
+        <Enum name="AIN2" start="0x2" description="ADC AIN2 Pin" />
+        <Enum name="AIN3" start="0x3" description="ADC AIN3 Pin" />
+        <Enum name="AIN4" start="0x4" description="ADC AIN4 Pin" />
+        <Enum name="AIN5" start="0x5" description="ADC AIN5 Pin" />
+        <Enum name="AIN6" start="0x6" description="ADC AIN6 Pin" />
+        <Enum name="AIN7" start="0x7" description="ADC AIN7 Pin" />
+        <Enum name="GND" start="0x18" description="Internal Ground" />
+      </BitField>
+      <BitField start="15" size="1" name="DSEQSTOP" description="Stop DMA Sequencing" />
+    </Register>
+    <Register start="+0x06" size="2" name="ADC_CTRLB" access="Read/Write" description="Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="LEFTADJ" description="Left-Adjusted Result" />
+      <BitField start="1" size="1" name="FREERUN" description="Free Running Mode" />
+      <BitField start="2" size="1" name="CORREN" description="Digital Correction Logic Enable" />
+      <BitField start="3" size="2" name="RESSEL" description="Conversion Result Resolution">
+        <Enum name="12BIT" start="0x0" description="12-bit result" />
+        <Enum name="16BIT" start="0x1" description="For averaging mode output" />
+        <Enum name="10BIT" start="0x2" description="10-bit result" />
+        <Enum name="8BIT" start="0x3" description="8-bit result" />
+      </BitField>
+      <BitField start="8" size="3" name="WINMODE" description="Window Monitor Mode">
+        <Enum name="DISABLE" start="0x0" description="No window mode (default)" />
+        <Enum name="MODE1" start="0x1" description="RESULT &gt; WINLT" />
+        <Enum name="MODE2" start="0x2" description="RESULT &lt; WINUT" />
+        <Enum name="MODE3" start="0x3" description="WINLT &lt; RESULT &lt; WINUT" />
+        <Enum name="MODE4" start="0x4" description="!(WINLT &lt; RESULT &lt; WINUT)" />
+      </BitField>
+      <BitField start="11" size="1" name="WINSS" description="Window Single Sample" />
+    </Register>
+    <Register start="+0x08" size="1" name="ADC_REFCTRL" access="Read/Write" description="Reference Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="REFSEL" description="Reference Selection">
+        <Enum name="INTREF" start="0x0" description="Internal Bandgap Reference" />
+        <Enum name="INTVCC0" start="0x2" description="1/2 VDDANA" />
+        <Enum name="INTVCC1" start="0x3" description="VDDANA" />
+        <Enum name="AREFA" start="0x4" description="External Reference" />
+        <Enum name="AREFB" start="0x5" description="External Reference" />
+        <Enum name="AREFC" start="0x6" description="External Reference (only on ADC1)" />
+      </BitField>
+      <BitField start="7" size="1" name="REFCOMP" description="Reference Buffer Offset Compensation Enable" />
+    </Register>
+    <Register start="+0x0A" size="1" name="ADC_AVGCTRL" access="Read/Write" description="Average Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SAMPLENUM" description="Number of Samples to be Collected">
+        <Enum name="1" start="0x0" description="1 sample" />
+        <Enum name="2" start="0x1" description="2 samples" />
+        <Enum name="4" start="0x2" description="4 samples" />
+        <Enum name="8" start="0x3" description="8 samples" />
+        <Enum name="16" start="0x4" description="16 samples" />
+        <Enum name="32" start="0x5" description="32 samples" />
+        <Enum name="64" start="0x6" description="64 samples" />
+        <Enum name="128" start="0x7" description="128 samples" />
+        <Enum name="256" start="0x8" description="256 samples" />
+        <Enum name="512" start="0x9" description="512 samples" />
+        <Enum name="1024" start="0xa" description="1024 samples" />
+      </BitField>
+      <BitField start="4" size="3" name="ADJRES" description="Adjusting Result / Division Coefficient" />
+    </Register>
+    <Register start="+0x0B" size="1" name="ADC_SAMPCTRL" access="Read/Write" description="Sample Time Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="SAMPLEN" description="Sampling Time Length" />
+      <BitField start="7" size="1" name="OFFCOMP" description="Comparator Offset Compensation Enable" />
+    </Register>
+    <Register start="+0x0C" size="2" name="ADC_WINLT" access="Read/Write" description="Window Monitor Lower Threshold" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="WINLT" description="Window Lower Threshold" />
+    </Register>
+    <Register start="+0x0E" size="2" name="ADC_WINUT" access="Read/Write" description="Window Monitor Upper Threshold" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="WINUT" description="Window Upper Threshold" />
+    </Register>
+    <Register start="+0x10" size="2" name="ADC_GAINCORR" access="Read/Write" description="Gain Correction" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="12" name="GAINCORR" description="Gain Correction Value" />
+    </Register>
+    <Register start="+0x12" size="2" name="ADC_OFFSETCORR" access="Read/Write" description="Offset Correction" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="12" name="OFFSETCORR" description="Offset Correction Value" />
+    </Register>
+    <Register start="+0x14" size="1" name="ADC_SWTRIG" access="Read/Write" description="Software Trigger" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="FLUSH" description="ADC Conversion Flush" />
+      <BitField start="1" size="1" name="START" description="Start ADC Conversion" />
+    </Register>
+    <Register start="+0x2C" size="1" name="ADC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RESRDY" description="Result Ready Interrupt Disable" />
+      <BitField start="1" size="1" name="OVERRUN" description="Overrun Interrupt Disable" />
+      <BitField start="2" size="1" name="WINMON" description="Window Monitor Interrupt Disable" />
+    </Register>
+    <Register start="+0x2D" size="1" name="ADC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RESRDY" description="Result Ready Interrupt Enable" />
+      <BitField start="1" size="1" name="OVERRUN" description="Overrun Interrupt Enable" />
+      <BitField start="2" size="1" name="WINMON" description="Window Monitor Interrupt Enable" />
+    </Register>
+    <Register start="+0x2E" size="1" name="ADC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RESRDY" description="Result Ready Interrupt Flag" />
+      <BitField start="1" size="1" name="OVERRUN" description="Overrun Interrupt Flag" />
+      <BitField start="2" size="1" name="WINMON" description="Window Monitor Interrupt Flag" />
+    </Register>
+    <Register start="+0x2F" size="1" name="ADC_STATUS" access="ReadOnly" description="Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ADCBUSY" description="ADC Busy Status" />
+      <BitField start="2" size="6" name="WCC" description="Window Comparator Counter" />
+    </Register>
+    <Register start="+0x30" size="4" name="ADC_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="SWRST Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="ENABLE Synchronization Busy" />
+      <BitField start="2" size="1" name="INPUTCTRL" description="Input Control Synchronization Busy" />
+      <BitField start="3" size="1" name="CTRLB" description="Control B Synchronization Busy" />
+      <BitField start="4" size="1" name="REFCTRL" description="Reference Control Synchronization Busy" />
+      <BitField start="5" size="1" name="AVGCTRL" description="Average Control Synchronization Busy" />
+      <BitField start="6" size="1" name="SAMPCTRL" description="Sampling Time Control Synchronization Busy" />
+      <BitField start="7" size="1" name="WINLT" description="Window Monitor Lower Threshold Synchronization Busy" />
+      <BitField start="8" size="1" name="WINUT" description="Window Monitor Upper Threshold Synchronization Busy" />
+      <BitField start="9" size="1" name="GAINCORR" description="Gain Correction Synchronization Busy" />
+      <BitField start="10" size="1" name="OFFSETCORR" description="Offset Correction Synchronization Busy" />
+      <BitField start="11" size="1" name="SWTRIG" description="Software Trigger Synchronization Busy" />
+    </Register>
+    <Register start="+0x34" size="4" name="ADC_DSEQDATA" access="WriteOnly" description="DMA Sequencial Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="DMA Sequential Data" />
+    </Register>
+    <Register start="+0x38" size="4" name="ADC_DSEQCTRL" access="Read/Write" description="DMA Sequential Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INPUTCTRL" description="Input Control" />
+      <BitField start="1" size="1" name="CTRLB" description="Control B" />
+      <BitField start="2" size="1" name="REFCTRL" description="Reference Control" />
+      <BitField start="3" size="1" name="AVGCTRL" description="Average Control" />
+      <BitField start="4" size="1" name="SAMPCTRL" description="Sampling Time Control" />
+      <BitField start="5" size="1" name="WINLT" description="Window Monitor Lower Threshold" />
+      <BitField start="6" size="1" name="WINUT" description="Window Monitor Upper Threshold" />
+      <BitField start="7" size="1" name="GAINCORR" description="Gain Correction" />
+      <BitField start="8" size="1" name="OFFSETCORR" description="Offset Correction" />
+      <BitField start="31" size="1" name="AUTOSTART" description="ADC Auto-Start Conversion" />
+    </Register>
+    <Register start="+0x3C" size="4" name="ADC_DSEQSTAT" access="ReadOnly" description="DMA Sequencial Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INPUTCTRL" description="Input Control" />
+      <BitField start="1" size="1" name="CTRLB" description="Control B" />
+      <BitField start="2" size="1" name="REFCTRL" description="Reference Control" />
+      <BitField start="3" size="1" name="AVGCTRL" description="Average Control" />
+      <BitField start="4" size="1" name="SAMPCTRL" description="Sampling Time Control" />
+      <BitField start="5" size="1" name="WINLT" description="Window Monitor Lower Threshold" />
+      <BitField start="6" size="1" name="WINUT" description="Window Monitor Upper Threshold" />
+      <BitField start="7" size="1" name="GAINCORR" description="Gain Correction" />
+      <BitField start="8" size="1" name="OFFSETCORR" description="Offset Correction" />
+      <BitField start="31" size="1" name="BUSY" description="DMA Sequencing Busy" />
+    </Register>
+    <Register start="+0x40" size="2" name="ADC_RESULT" access="ReadOnly" description="Result Conversion Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="RESULT" description="Result Conversion Value" />
+    </Register>
+    <Register start="+0x44" size="2" name="ADC_RESS" access="ReadOnly" description="Last Sample Result" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="RESS" description="Last ADC conversion result" />
+    </Register>
+    <Register start="+0x48" size="2" name="ADC_CALIB" access="Read/Write" description="Calibration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="BIASCOMP" description="Bias Comparator Scaling" />
+      <BitField start="4" size="3" name="BIASR2R" description="Bias R2R Ampli scaling" />
+      <BitField start="8" size="3" name="BIASREFBUF" description="Bias  Reference Buffer Scaling" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="AES" start="0x42002400" description="Advanced Encryption Standard">
+    <Register start="+0x00" size="4" name="AES_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="AESMODE" description="AES Modes of operation">
+        <Enum name="ECB" start="0x0" description="Electronic code book mode" />
+        <Enum name="CBC" start="0x1" description="Cipher block chaining mode" />
+        <Enum name="OFB" start="0x2" description="Output feedback mode" />
+        <Enum name="CFB" start="0x3" description="Cipher feedback mode" />
+        <Enum name="COUNTER" start="0x4" description="Counter mode" />
+        <Enum name="CCM" start="0x5" description="CCM mode" />
+        <Enum name="GCM" start="0x6" description="Galois counter mode" />
+      </BitField>
+      <BitField start="5" size="3" name="CFBS" description="Cipher Feedback Block Size">
+        <Enum name="128BIT" start="0x0" description="128-bit Input data block for Encryption/Decryption in Cipher Feedback mode" />
+        <Enum name="64BIT" start="0x1" description="64-bit Input data block for Encryption/Decryption in Cipher Feedback mode" />
+        <Enum name="32BIT" start="0x2" description="32-bit Input data block for Encryption/Decryption in Cipher Feedback mode" />
+        <Enum name="16BIT" start="0x3" description="16-bit Input data block for Encryption/Decryption in Cipher Feedback mode" />
+        <Enum name="8BIT" start="0x4" description="8-bit Input data block for Encryption/Decryption in Cipher Feedback mode" />
+      </BitField>
+      <BitField start="8" size="2" name="KEYSIZE" description="Encryption Key Size">
+        <Enum name="128BIT" start="0x0" description="128-bit Key for Encryption / Decryption" />
+        <Enum name="192BIT" start="0x1" description="192-bit Key for Encryption / Decryption" />
+        <Enum name="256BIT" start="0x2" description="256-bit Key for Encryption / Decryption" />
+      </BitField>
+      <BitField start="10" size="1" name="CIPHER" description="Cipher Mode">
+        <Enum name="DEC" start="0x0" description="Decryption" />
+        <Enum name="ENC" start="0x1" description="Encryption" />
+      </BitField>
+      <BitField start="11" size="1" name="STARTMODE" description="Start Mode Select">
+        <Enum name="MANUAL" start="0x0" description="Start Encryption / Decryption in Manual mode" />
+        <Enum name="AUTO" start="0x1" description="Start Encryption / Decryption in Auto mode" />
+      </BitField>
+      <BitField start="12" size="1" name="LOD" description="Last Output Data Mode">
+        <Enum name="NONE" start="0x0" description="No effect" />
+        <Enum name="LAST" start="0x1" description="Start encryption in Last Output Data mode" />
+      </BitField>
+      <BitField start="13" size="1" name="KEYGEN" description="Last Key Generation">
+        <Enum name="NONE" start="0x0" description="No effect" />
+        <Enum name="LAST" start="0x1" description="Start Computation of the last NK words of the expanded key" />
+      </BitField>
+      <BitField start="14" size="1" name="XORKEY" description="XOR Key Operation">
+        <Enum name="NONE" start="0x0" description="No effect" />
+        <Enum name="XOR" start="0x1" description="The user keyword gets XORed with the previous keyword register content." />
+      </BitField>
+      <BitField start="16" size="4" name="CTYPE" description="Counter Measure Type" />
+    </Register>
+    <Register start="+0x04" size="1" name="AES_CTRLB" access="Read/Write" description="Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="START" description="Start Encryption/Decryption" />
+      <BitField start="1" size="1" name="NEWMSG" description="New message" />
+      <BitField start="2" size="1" name="EOM" description="End of message" />
+      <BitField start="3" size="1" name="GFMUL" description="GF Multiplication" />
+    </Register>
+    <Register start="+0x05" size="1" name="AES_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ENCCMP" description="Encryption Complete Interrupt Enable" />
+      <BitField start="1" size="1" name="GFMCMP" description="GF Multiplication Complete Interrupt Enable" />
+    </Register>
+    <Register start="+0x06" size="1" name="AES_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ENCCMP" description="Encryption Complete Interrupt Enable" />
+      <BitField start="1" size="1" name="GFMCMP" description="GF Multiplication Complete Interrupt Enable" />
+    </Register>
+    <Register start="+0x07" size="1" name="AES_INTFLAG" access="Read/Write" description="Interrupt Flag Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ENCCMP" description="Encryption Complete" />
+      <BitField start="1" size="1" name="GFMCMP" description="GF Multiplication Complete" />
+    </Register>
+    <Register start="+0x08" size="1" name="AES_DATABUFPTR" access="Read/Write" description="Data buffer pointer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="INDATAPTR" description="Input Data Pointer" />
+    </Register>
+    <Register start="+0x09" size="1" name="AES_DBGCTRL" access="Read/Write" description="Debug control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run" />
+    </Register>
+    <Register start="+0x0C+0" size="4" name="AES_KEYWORD0" access="WriteOnly" description="Keyword n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x0C+4" size="4" name="AES_KEYWORD1" access="WriteOnly" description="Keyword n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x0C+8" size="4" name="AES_KEYWORD2" access="WriteOnly" description="Keyword n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x0C+12" size="4" name="AES_KEYWORD3" access="WriteOnly" description="Keyword n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x0C+16" size="4" name="AES_KEYWORD4" access="WriteOnly" description="Keyword n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x0C+20" size="4" name="AES_KEYWORD5" access="WriteOnly" description="Keyword n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x0C+24" size="4" name="AES_KEYWORD6" access="WriteOnly" description="Keyword n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x0C+28" size="4" name="AES_KEYWORD7" access="WriteOnly" description="Keyword n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x38" size="4" name="AES_INDATA" access="Read/Write" description="Indata" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x3C+0" size="4" name="AES_INTVECTV0" access="WriteOnly" description="Initialisation Vector n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x3C+4" size="4" name="AES_INTVECTV1" access="WriteOnly" description="Initialisation Vector n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x3C+8" size="4" name="AES_INTVECTV2" access="WriteOnly" description="Initialisation Vector n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x3C+12" size="4" name="AES_INTVECTV3" access="WriteOnly" description="Initialisation Vector n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x5C+0" size="4" name="AES_HASHKEY0" access="Read/Write" description="Hash key n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x5C+4" size="4" name="AES_HASHKEY1" access="Read/Write" description="Hash key n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x5C+8" size="4" name="AES_HASHKEY2" access="Read/Write" description="Hash key n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x5C+12" size="4" name="AES_HASHKEY3" access="Read/Write" description="Hash key n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x6C+0" size="4" name="AES_GHASH0" access="Read/Write" description="Galois Hash n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x6C+4" size="4" name="AES_GHASH1" access="Read/Write" description="Galois Hash n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x6C+8" size="4" name="AES_GHASH2" access="Read/Write" description="Galois Hash n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x6C+12" size="4" name="AES_GHASH3" access="Read/Write" description="Galois Hash n" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x80" size="4" name="AES_CIPLEN" access="Read/Write" description="Cipher Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x84" size="4" name="AES_RANDSEED" access="Read/Write" description="Random Seed" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+  </RegisterGroup>
+  <RegisterGroup name="CCL" start="0x42003800" description="Configurable Custom Logic">
+    <Register start="+0x0" size="1" name="CCL_CTRL" access="Read/Write" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+    </Register>
+    <Register start="+0x4+0" size="1" name="CCL_SEQCTRL0" access="Read/Write" description="SEQ Control x" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SEQSEL" description="Sequential Selection">
+        <Enum name="DISABLE" start="0x0" description="Sequential logic is disabled" />
+        <Enum name="DFF" start="0x1" description="D flip flop" />
+        <Enum name="JK" start="0x2" description="JK flip flop" />
+        <Enum name="LATCH" start="0x3" description="D latch" />
+        <Enum name="RS" start="0x4" description="RS latch" />
+      </BitField>
+    </Register>
+    <Register start="+0x4+1" size="1" name="CCL_SEQCTRL1" access="Read/Write" description="SEQ Control x" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SEQSEL" description="Sequential Selection">
+        <Enum name="DISABLE" start="0x0" description="Sequential logic is disabled" />
+        <Enum name="DFF" start="0x1" description="D flip flop" />
+        <Enum name="JK" start="0x2" description="JK flip flop" />
+        <Enum name="LATCH" start="0x3" description="D latch" />
+        <Enum name="RS" start="0x4" description="RS latch" />
+      </BitField>
+    </Register>
+    <Register start="+0x8+0" size="4" name="CCL_LUTCTRL0" access="Read/Write" description="LUT Control x" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="LUT Enable" />
+      <BitField start="4" size="2" name="FILTSEL" description="Filter Selection">
+        <Enum name="DISABLE" start="0x0" description="Filter disabled" />
+        <Enum name="SYNCH" start="0x1" description="Synchronizer enabled" />
+        <Enum name="FILTER" start="0x2" description="Filter enabled" />
+      </BitField>
+      <BitField start="7" size="1" name="EDGESEL" description="Edge Selection" />
+      <BitField start="8" size="4" name="INSEL0" description="Input Selection 0">
+        <Enum name="MASK" start="0x0" description="Masked input" />
+        <Enum name="FEEDBACK" start="0x1" description="Feedback input source" />
+        <Enum name="LINK" start="0x2" description="Linked LUT input source" />
+        <Enum name="EVENT" start="0x3" description="Event input source" />
+        <Enum name="IO" start="0x4" description="I/O pin input source" />
+        <Enum name="AC" start="0x5" description="AC input source" />
+        <Enum name="TC" start="0x6" description="TC input source" />
+        <Enum name="ALTTC" start="0x7" description="Alternate TC input source" />
+        <Enum name="TCC" start="0x8" description="TCC input source" />
+        <Enum name="SERCOM" start="0x9" description="SERCOM input source" />
+      </BitField>
+      <BitField start="12" size="4" name="INSEL1" description="Input Selection 1">
+        <Enum name="MASK" start="0x0" description="Masked input" />
+        <Enum name="FEEDBACK" start="0x1" description="Feedback input source" />
+        <Enum name="LINK" start="0x2" description="Linked LUT input source" />
+        <Enum name="EVENT" start="0x3" description="Event input source" />
+        <Enum name="IO" start="0x4" description="I/O pin input source" />
+        <Enum name="AC" start="0x5" description="AC input source" />
+        <Enum name="TC" start="0x6" description="TC input source" />
+        <Enum name="ALTTC" start="0x7" description="Alternate TC input source" />
+        <Enum name="TCC" start="0x8" description="TCC input source" />
+        <Enum name="SERCOM" start="0x9" description="SERCOM input source" />
+      </BitField>
+      <BitField start="16" size="4" name="INSEL2" description="Input Selection 2">
+        <Enum name="MASK" start="0x0" description="Masked input" />
+        <Enum name="FEEDBACK" start="0x1" description="Feedback input source" />
+        <Enum name="LINK" start="0x2" description="Linked LUT input source" />
+        <Enum name="EVENT" start="0x3" description="Event input source" />
+        <Enum name="IO" start="0x4" description="I/O pin input source" />
+        <Enum name="AC" start="0x5" description="AC input source" />
+        <Enum name="TC" start="0x6" description="TC input source" />
+        <Enum name="ALTTC" start="0x7" description="Alternate TC input source" />
+        <Enum name="TCC" start="0x8" description="TCC input source" />
+        <Enum name="SERCOM" start="0x9" description="SERCOM input source" />
+      </BitField>
+      <BitField start="20" size="1" name="INVEI" description="Inverted Event Input Enable" />
+      <BitField start="21" size="1" name="LUTEI" description="LUT Event Input Enable" />
+      <BitField start="22" size="1" name="LUTEO" description="LUT Event Output Enable" />
+      <BitField start="24" size="8" name="TRUTH" description="Truth Value" />
+    </Register>
+    <Register start="+0x8+4" size="4" name="CCL_LUTCTRL1" access="Read/Write" description="LUT Control x" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="LUT Enable" />
+      <BitField start="4" size="2" name="FILTSEL" description="Filter Selection">
+        <Enum name="DISABLE" start="0x0" description="Filter disabled" />
+        <Enum name="SYNCH" start="0x1" description="Synchronizer enabled" />
+        <Enum name="FILTER" start="0x2" description="Filter enabled" />
+      </BitField>
+      <BitField start="7" size="1" name="EDGESEL" description="Edge Selection" />
+      <BitField start="8" size="4" name="INSEL0" description="Input Selection 0">
+        <Enum name="MASK" start="0x0" description="Masked input" />
+        <Enum name="FEEDBACK" start="0x1" description="Feedback input source" />
+        <Enum name="LINK" start="0x2" description="Linked LUT input source" />
+        <Enum name="EVENT" start="0x3" description="Event input source" />
+        <Enum name="IO" start="0x4" description="I/O pin input source" />
+        <Enum name="AC" start="0x5" description="AC input source" />
+        <Enum name="TC" start="0x6" description="TC input source" />
+        <Enum name="ALTTC" start="0x7" description="Alternate TC input source" />
+        <Enum name="TCC" start="0x8" description="TCC input source" />
+        <Enum name="SERCOM" start="0x9" description="SERCOM input source" />
+      </BitField>
+      <BitField start="12" size="4" name="INSEL1" description="Input Selection 1">
+        <Enum name="MASK" start="0x0" description="Masked input" />
+        <Enum name="FEEDBACK" start="0x1" description="Feedback input source" />
+        <Enum name="LINK" start="0x2" description="Linked LUT input source" />
+        <Enum name="EVENT" start="0x3" description="Event input source" />
+        <Enum name="IO" start="0x4" description="I/O pin input source" />
+        <Enum name="AC" start="0x5" description="AC input source" />
+        <Enum name="TC" start="0x6" description="TC input source" />
+        <Enum name="ALTTC" start="0x7" description="Alternate TC input source" />
+        <Enum name="TCC" start="0x8" description="TCC input source" />
+        <Enum name="SERCOM" start="0x9" description="SERCOM input source" />
+      </BitField>
+      <BitField start="16" size="4" name="INSEL2" description="Input Selection 2">
+        <Enum name="MASK" start="0x0" description="Masked input" />
+        <Enum name="FEEDBACK" start="0x1" description="Feedback input source" />
+        <Enum name="LINK" start="0x2" description="Linked LUT input source" />
+        <Enum name="EVENT" start="0x3" description="Event input source" />
+        <Enum name="IO" start="0x4" description="I/O pin input source" />
+        <Enum name="AC" start="0x5" description="AC input source" />
+        <Enum name="TC" start="0x6" description="TC input source" />
+        <Enum name="ALTTC" start="0x7" description="Alternate TC input source" />
+        <Enum name="TCC" start="0x8" description="TCC input source" />
+        <Enum name="SERCOM" start="0x9" description="SERCOM input source" />
+      </BitField>
+      <BitField start="20" size="1" name="INVEI" description="Inverted Event Input Enable" />
+      <BitField start="21" size="1" name="LUTEI" description="LUT Event Input Enable" />
+      <BitField start="22" size="1" name="LUTEO" description="LUT Event Output Enable" />
+      <BitField start="24" size="8" name="TRUTH" description="Truth Value" />
+    </Register>
+    <Register start="+0x8+8" size="4" name="CCL_LUTCTRL2" access="Read/Write" description="LUT Control x" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="LUT Enable" />
+      <BitField start="4" size="2" name="FILTSEL" description="Filter Selection">
+        <Enum name="DISABLE" start="0x0" description="Filter disabled" />
+        <Enum name="SYNCH" start="0x1" description="Synchronizer enabled" />
+        <Enum name="FILTER" start="0x2" description="Filter enabled" />
+      </BitField>
+      <BitField start="7" size="1" name="EDGESEL" description="Edge Selection" />
+      <BitField start="8" size="4" name="INSEL0" description="Input Selection 0">
+        <Enum name="MASK" start="0x0" description="Masked input" />
+        <Enum name="FEEDBACK" start="0x1" description="Feedback input source" />
+        <Enum name="LINK" start="0x2" description="Linked LUT input source" />
+        <Enum name="EVENT" start="0x3" description="Event input source" />
+        <Enum name="IO" start="0x4" description="I/O pin input source" />
+        <Enum name="AC" start="0x5" description="AC input source" />
+        <Enum name="TC" start="0x6" description="TC input source" />
+        <Enum name="ALTTC" start="0x7" description="Alternate TC input source" />
+        <Enum name="TCC" start="0x8" description="TCC input source" />
+        <Enum name="SERCOM" start="0x9" description="SERCOM input source" />
+      </BitField>
+      <BitField start="12" size="4" name="INSEL1" description="Input Selection 1">
+        <Enum name="MASK" start="0x0" description="Masked input" />
+        <Enum name="FEEDBACK" start="0x1" description="Feedback input source" />
+        <Enum name="LINK" start="0x2" description="Linked LUT input source" />
+        <Enum name="EVENT" start="0x3" description="Event input source" />
+        <Enum name="IO" start="0x4" description="I/O pin input source" />
+        <Enum name="AC" start="0x5" description="AC input source" />
+        <Enum name="TC" start="0x6" description="TC input source" />
+        <Enum name="ALTTC" start="0x7" description="Alternate TC input source" />
+        <Enum name="TCC" start="0x8" description="TCC input source" />
+        <Enum name="SERCOM" start="0x9" description="SERCOM input source" />
+      </BitField>
+      <BitField start="16" size="4" name="INSEL2" description="Input Selection 2">
+        <Enum name="MASK" start="0x0" description="Masked input" />
+        <Enum name="FEEDBACK" start="0x1" description="Feedback input source" />
+        <Enum name="LINK" start="0x2" description="Linked LUT input source" />
+        <Enum name="EVENT" start="0x3" description="Event input source" />
+        <Enum name="IO" start="0x4" description="I/O pin input source" />
+        <Enum name="AC" start="0x5" description="AC input source" />
+        <Enum name="TC" start="0x6" description="TC input source" />
+        <Enum name="ALTTC" start="0x7" description="Alternate TC input source" />
+        <Enum name="TCC" start="0x8" description="TCC input source" />
+        <Enum name="SERCOM" start="0x9" description="SERCOM input source" />
+      </BitField>
+      <BitField start="20" size="1" name="INVEI" description="Inverted Event Input Enable" />
+      <BitField start="21" size="1" name="LUTEI" description="LUT Event Input Enable" />
+      <BitField start="22" size="1" name="LUTEO" description="LUT Event Output Enable" />
+      <BitField start="24" size="8" name="TRUTH" description="Truth Value" />
+    </Register>
+    <Register start="+0x8+12" size="4" name="CCL_LUTCTRL3" access="Read/Write" description="LUT Control x" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="LUT Enable" />
+      <BitField start="4" size="2" name="FILTSEL" description="Filter Selection">
+        <Enum name="DISABLE" start="0x0" description="Filter disabled" />
+        <Enum name="SYNCH" start="0x1" description="Synchronizer enabled" />
+        <Enum name="FILTER" start="0x2" description="Filter enabled" />
+      </BitField>
+      <BitField start="7" size="1" name="EDGESEL" description="Edge Selection" />
+      <BitField start="8" size="4" name="INSEL0" description="Input Selection 0">
+        <Enum name="MASK" start="0x0" description="Masked input" />
+        <Enum name="FEEDBACK" start="0x1" description="Feedback input source" />
+        <Enum name="LINK" start="0x2" description="Linked LUT input source" />
+        <Enum name="EVENT" start="0x3" description="Event input source" />
+        <Enum name="IO" start="0x4" description="I/O pin input source" />
+        <Enum name="AC" start="0x5" description="AC input source" />
+        <Enum name="TC" start="0x6" description="TC input source" />
+        <Enum name="ALTTC" start="0x7" description="Alternate TC input source" />
+        <Enum name="TCC" start="0x8" description="TCC input source" />
+        <Enum name="SERCOM" start="0x9" description="SERCOM input source" />
+      </BitField>
+      <BitField start="12" size="4" name="INSEL1" description="Input Selection 1">
+        <Enum name="MASK" start="0x0" description="Masked input" />
+        <Enum name="FEEDBACK" start="0x1" description="Feedback input source" />
+        <Enum name="LINK" start="0x2" description="Linked LUT input source" />
+        <Enum name="EVENT" start="0x3" description="Event input source" />
+        <Enum name="IO" start="0x4" description="I/O pin input source" />
+        <Enum name="AC" start="0x5" description="AC input source" />
+        <Enum name="TC" start="0x6" description="TC input source" />
+        <Enum name="ALTTC" start="0x7" description="Alternate TC input source" />
+        <Enum name="TCC" start="0x8" description="TCC input source" />
+        <Enum name="SERCOM" start="0x9" description="SERCOM input source" />
+      </BitField>
+      <BitField start="16" size="4" name="INSEL2" description="Input Selection 2">
+        <Enum name="MASK" start="0x0" description="Masked input" />
+        <Enum name="FEEDBACK" start="0x1" description="Feedback input source" />
+        <Enum name="LINK" start="0x2" description="Linked LUT input source" />
+        <Enum name="EVENT" start="0x3" description="Event input source" />
+        <Enum name="IO" start="0x4" description="I/O pin input source" />
+        <Enum name="AC" start="0x5" description="AC input source" />
+        <Enum name="TC" start="0x6" description="TC input source" />
+        <Enum name="ALTTC" start="0x7" description="Alternate TC input source" />
+        <Enum name="TCC" start="0x8" description="TCC input source" />
+        <Enum name="SERCOM" start="0x9" description="SERCOM input source" />
+      </BitField>
+      <BitField start="20" size="1" name="INVEI" description="Inverted Event Input Enable" />
+      <BitField start="21" size="1" name="LUTEI" description="LUT Event Input Enable" />
+      <BitField start="22" size="1" name="LUTEO" description="LUT Event Output Enable" />
+      <BitField start="24" size="8" name="TRUTH" description="Truth Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="CMCC" start="0x41006000" description="Cortex M Cache Controller">
+    <Register start="+0x00" size="4" name="CMCC_TYPE" access="ReadOnly" description="Cache Type Register" reset_value="0x000012D2" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="GCLK" description="dynamic Clock Gating supported" />
+      <BitField start="4" size="1" name="RRP" description="Round Robin Policy supported" />
+      <BitField start="5" size="2" name="WAYNUM" description="Number of Way">
+        <Enum name="DMAPPED" start="0x0" description="Direct Mapped Cache" />
+        <Enum name="ARCH2WAY" start="0x1" description="2-WAY set associative" />
+        <Enum name="ARCH4WAY" start="0x2" description="4-WAY set associative" />
+      </BitField>
+      <BitField start="7" size="1" name="LCKDOWN" description="Lock Down supported" />
+      <BitField start="8" size="3" name="CSIZE" description="Cache Size">
+        <Enum name="CSIZE_1KB" start="0x0" description="Cache Size is 1 KB" />
+        <Enum name="CSIZE_2KB" start="0x1" description="Cache Size is 2 KB" />
+        <Enum name="CSIZE_4KB" start="0x2" description="Cache Size is 4 KB" />
+        <Enum name="CSIZE_8KB" start="0x3" description="Cache Size is 8 KB" />
+        <Enum name="CSIZE_16KB" start="0x4" description="Cache Size is 16 KB" />
+        <Enum name="CSIZE_32KB" start="0x5" description="Cache Size is 32 KB" />
+        <Enum name="CSIZE_64KB" start="0x6" description="Cache Size is 64 KB" />
+      </BitField>
+      <BitField start="11" size="3" name="CLSIZE" description="Cache Line Size">
+        <Enum name="CLSIZE_4B" start="0x0" description="Cache Line Size is 4 bytes" />
+        <Enum name="CLSIZE_8B" start="0x1" description="Cache Line Size is 8 bytes" />
+        <Enum name="CLSIZE_16B" start="0x2" description="Cache Line Size is 16 bytes" />
+        <Enum name="CLSIZE_32B" start="0x3" description="Cache Line Size is 32 bytes" />
+        <Enum name="CLSIZE_64B" start="0x4" description="Cache Line Size is 64 bytes" />
+        <Enum name="CLSIZE_128B" start="0x5" description="Cache Line Size is 128 bytes" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="4" name="CMCC_CFG" access="Read/Write" description="Cache Configuration Register" reset_value="0x00000020" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ICDIS" description="Instruction Cache Disable" />
+      <BitField start="2" size="1" name="DCDIS" description="Data Cache Disable" />
+      <BitField start="4" size="3" name="CSIZESW" description="Cache size configured by software">
+        <Enum name="CONF_CSIZE_1KB" start="0x0" description="the Cache Size is configured to 1KB" />
+        <Enum name="CONF_CSIZE_2KB" start="0x1" description="the Cache Size is configured to 2KB" />
+        <Enum name="CONF_CSIZE_4KB" start="0x2" description="the Cache Size is configured to 4KB" />
+        <Enum name="CONF_CSIZE_8KB" start="0x3" description="the Cache Size is configured to 8KB" />
+        <Enum name="CONF_CSIZE_16KB" start="0x4" description="the Cache Size is configured to 16KB" />
+        <Enum name="CONF_CSIZE_32KB" start="0x5" description="the Cache Size is configured to 32KB" />
+        <Enum name="CONF_CSIZE_64KB" start="0x6" description="the Cache Size is configured to 64KB" />
+      </BitField>
+    </Register>
+    <Register start="+0x08" size="4" name="CMCC_CTRL" access="WriteOnly" description="Cache Control Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CEN" description="Cache Controller Enable" />
+    </Register>
+    <Register start="+0x0C" size="4" name="CMCC_SR" access="ReadOnly" description="Cache Status Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CSTS" description="Cache Controller Status" />
+    </Register>
+    <Register start="+0x10" size="4" name="CMCC_LCKWAY" access="Read/Write" description="Cache Lock per Way Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="LCKWAY" description="Lockdown way Register" />
+    </Register>
+    <Register start="+0x20" size="4" name="CMCC_MAINT0" access="WriteOnly" description="Cache Maintenance Register 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVALL" description="Cache Controller invalidate All" />
+    </Register>
+    <Register start="+0x24" size="4" name="CMCC_MAINT1" access="WriteOnly" description="Cache Maintenance Register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="4" size="8" name="INDEX" description="Invalidate Index" />
+      <BitField start="28" size="4" name="WAY" description="Invalidate Way">
+        <Enum name="WAY0" start="0x0" description="Way 0 is selection for index invalidation" />
+        <Enum name="WAY1" start="0x1" description="Way 1 is selection for index invalidation" />
+        <Enum name="WAY2" start="0x2" description="Way 2 is selection for index invalidation" />
+        <Enum name="WAY3" start="0x3" description="Way 3 is selection for index invalidation" />
+      </BitField>
+    </Register>
+    <Register start="+0x28" size="4" name="CMCC_MCFG" access="Read/Write" description="Cache Monitor Configuration Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="MODE" description="Cache Controller Monitor Counter Mode">
+        <Enum name="CYCLE_COUNT" start="0x0" description="cycle counter" />
+        <Enum name="IHIT_COUNT" start="0x1" description="instruction hit counter" />
+        <Enum name="DHIT_COUNT" start="0x2" description="data hit counter" />
+      </BitField>
+    </Register>
+    <Register start="+0x2C" size="4" name="CMCC_MEN" access="Read/Write" description="Cache Monitor Enable Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MENABLE" description="Cache Controller Monitor Enable" />
+    </Register>
+    <Register start="+0x30" size="4" name="CMCC_MCTRL" access="WriteOnly" description="Cache Monitor Control Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Cache Controller Software Reset" />
+    </Register>
+    <Register start="+0x34" size="4" name="CMCC_MSR" access="ReadOnly" description="Cache Monitor Status Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="EVENT_CNT" description="Monitor Event Counter" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="DAC" start="0x43002400" description="Digital-to-Analog Converter">
+    <Register start="+0x00" size="1" name="DAC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable DAC Controller" />
+    </Register>
+    <Register start="+0x01" size="1" name="DAC_CTRLB" access="Read/Write" description="Control B" reset_value="0x02" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIFF" description="Differential mode enable" />
+      <BitField start="1" size="2" name="REFSEL" description="Reference Selection for DAC0/1">
+        <Enum name="VREFPU" start="0x0" description="External reference unbuffered" />
+        <Enum name="VDDANA" start="0x1" description="Analog supply" />
+        <Enum name="VREFPB" start="0x2" description="External reference buffered" />
+        <Enum name="INTREF" start="0x3" description="Internal bandgap reference" />
+      </BitField>
+    </Register>
+    <Register start="+0x02" size="1" name="DAC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STARTEI0" description="Start Conversion Event Input DAC 0" />
+      <BitField start="1" size="1" name="STARTEI1" description="Start Conversion Event Input DAC 1" />
+      <BitField start="2" size="1" name="EMPTYEO0" description="Data Buffer Empty Event Output DAC 0" />
+      <BitField start="3" size="1" name="EMPTYEO1" description="Data Buffer Empty Event Output DAC 1" />
+      <BitField start="4" size="1" name="INVEI0" description="Enable Invertion of DAC 0 input event" />
+      <BitField start="5" size="1" name="INVEI1" description="Enable Invertion of DAC 1 input event" />
+      <BitField start="6" size="1" name="RESRDYEO0" description="Result Ready Event Output 0" />
+      <BitField start="7" size="1" name="RESRDYEO1" description="Result Ready Event Output 1" />
+    </Register>
+    <Register start="+0x04" size="1" name="DAC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="UNDERRUN0" description="Underrun 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="UNDERRUN1" description="Underrun 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="EMPTY0" description="Data Buffer 0 Empty Interrupt Enable" />
+      <BitField start="3" size="1" name="EMPTY1" description="Data Buffer 1 Empty Interrupt Enable" />
+      <BitField start="4" size="1" name="RESRDY0" description="Result 0 Ready Interrupt Enable" />
+      <BitField start="5" size="1" name="RESRDY1" description="Result 1 Ready Interrupt Enable" />
+      <BitField start="6" size="1" name="OVERRUN0" description="Overrun 0 Interrupt Enable" />
+      <BitField start="7" size="1" name="OVERRUN1" description="Overrun 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x05" size="1" name="DAC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="UNDERRUN0" description="Underrun 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="UNDERRUN1" description="Underrun 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="EMPTY0" description="Data Buffer 0 Empty Interrupt Enable" />
+      <BitField start="3" size="1" name="EMPTY1" description="Data Buffer 1 Empty Interrupt Enable" />
+      <BitField start="4" size="1" name="RESRDY0" description="Result 0 Ready Interrupt Enable" />
+      <BitField start="5" size="1" name="RESRDY1" description="Result 1 Ready Interrupt Enable" />
+      <BitField start="6" size="1" name="OVERRUN0" description="Overrun 0 Interrupt Enable" />
+      <BitField start="7" size="1" name="OVERRUN1" description="Overrun 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x06" size="1" name="DAC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="UNDERRUN0" description="Result 0 Underrun" />
+      <BitField start="1" size="1" name="UNDERRUN1" description="Result 1 Underrun" />
+      <BitField start="2" size="1" name="EMPTY0" description="Data Buffer 0 Empty" />
+      <BitField start="3" size="1" name="EMPTY1" description="Data Buffer 1 Empty" />
+      <BitField start="4" size="1" name="RESRDY0" description="Result 0 Ready" />
+      <BitField start="5" size="1" name="RESRDY1" description="Result 1 Ready" />
+      <BitField start="6" size="1" name="OVERRUN0" description="Result 0 Overrun" />
+      <BitField start="7" size="1" name="OVERRUN1" description="Result 1 Overrun" />
+    </Register>
+    <Register start="+0x07" size="1" name="DAC_STATUS" access="ReadOnly" description="Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="READY0" description="DAC 0 Startup Ready" />
+      <BitField start="1" size="1" name="READY1" description="DAC 1 Startup Ready" />
+      <BitField start="2" size="1" name="EOC0" description="DAC 0 End of Conversion" />
+      <BitField start="3" size="1" name="EOC1" description="DAC 1 End of Conversion" />
+    </Register>
+    <Register start="+0x08" size="4" name="DAC_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="DAC Enable Status" />
+      <BitField start="2" size="1" name="DATA0" description="Data DAC 0" />
+      <BitField start="3" size="1" name="DATA1" description="Data DAC 1" />
+      <BitField start="4" size="1" name="DATABUF0" description="Data Buffer DAC 0" />
+      <BitField start="5" size="1" name="DATABUF1" description="Data Buffer DAC 1" />
+    </Register>
+    <Register start="+0x0C+0" size="2" name="DAC_DACCTRL0" access="Read/Write" description="DAC n Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="LEFTADJ" description="Left Adjusted Data" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable DAC0" />
+      <BitField start="2" size="2" name="CCTRL" description="Current Control">
+        <Enum name="CC100K" start="0x0" description="GCLK_DAC &lt;= 1.2MHz (100kSPS)" />
+        <Enum name="CC1M" start="0x1" description="1.2MHz &lt; GCLK_DAC  &lt;= 6MHz (500kSPS)" />
+        <Enum name="CC12M" start="0x2" description="6MHz &lt; GCLK_DAC &lt;= 12MHz (1MSPS)" />
+      </BitField>
+      <BitField start="5" size="1" name="FEXT" description="Standalone Filter" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="DITHER" description="Dithering Mode" />
+      <BitField start="8" size="4" name="REFRESH" description="Refresh period" />
+      <BitField start="13" size="3" name="OSR" description="Sampling Rate" />
+    </Register>
+    <Register start="+0x0C+2" size="2" name="DAC_DACCTRL1" access="Read/Write" description="DAC n Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="LEFTADJ" description="Left Adjusted Data" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable DAC0" />
+      <BitField start="2" size="2" name="CCTRL" description="Current Control">
+        <Enum name="CC100K" start="0x0" description="GCLK_DAC &lt;= 1.2MHz (100kSPS)" />
+        <Enum name="CC1M" start="0x1" description="1.2MHz &lt; GCLK_DAC  &lt;= 6MHz (500kSPS)" />
+        <Enum name="CC12M" start="0x2" description="6MHz &lt; GCLK_DAC &lt;= 12MHz (1MSPS)" />
+      </BitField>
+      <BitField start="5" size="1" name="FEXT" description="Standalone Filter" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="DITHER" description="Dithering Mode" />
+      <BitField start="8" size="4" name="REFRESH" description="Refresh period" />
+      <BitField start="13" size="3" name="OSR" description="Sampling Rate" />
+    </Register>
+    <Register start="+0x10+0" size="2" name="DAC_DATA0" access="WriteOnly" description="DAC n Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="DATA" description="DAC0 Data" />
+    </Register>
+    <Register start="+0x10+2" size="2" name="DAC_DATA1" access="WriteOnly" description="DAC n Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="DATA" description="DAC0 Data" />
+    </Register>
+    <Register start="+0x14+0" size="2" name="DAC_DATABUF0" access="WriteOnly" description="DAC n Data Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="DATABUF" description="DAC0 Data Buffer" />
+    </Register>
+    <Register start="+0x14+2" size="2" name="DAC_DATABUF1" access="WriteOnly" description="DAC n Data Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="DATABUF" description="DAC0 Data Buffer" />
+    </Register>
+    <Register start="+0x18" size="1" name="DAC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run" />
+    </Register>
+    <Register start="+0x1C+0" size="2" name="DAC_RESULT0" access="ReadOnly" description="Filter Result" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="RESULT" description="Filter Result" />
+    </Register>
+    <Register start="+0x1C+2" size="2" name="DAC_RESULT1" access="ReadOnly" description="Filter Result" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="RESULT" description="Filter Result" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="DMAC" start="0x4100A000" description="Direct Memory Access Controller">
+    <Register start="+0x00" size="2" name="DMAC_CTRL" access="Read/Write" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="DMAENABLE" description="DMA Enable" />
+      <BitField start="8" size="1" name="LVLEN0" description="Priority Level 0 Enable" />
+      <BitField start="9" size="1" name="LVLEN1" description="Priority Level 1 Enable" />
+      <BitField start="10" size="1" name="LVLEN2" description="Priority Level 2 Enable" />
+      <BitField start="11" size="1" name="LVLEN3" description="Priority Level 3 Enable" />
+    </Register>
+    <Register start="+0x02" size="2" name="DMAC_CRCCTRL" access="Read/Write" description="CRC Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CRCBEATSIZE" description="CRC Beat Size">
+        <Enum name="BYTE" start="0x0" description="8-bit bus transfer" />
+        <Enum name="HWORD" start="0x1" description="16-bit bus transfer" />
+        <Enum name="WORD" start="0x2" description="32-bit bus transfer" />
+      </BitField>
+      <BitField start="2" size="2" name="CRCPOLY" description="CRC Polynomial Type">
+        <Enum name="CRC16" start="0x0" description="CRC-16 (CRC-CCITT)" />
+        <Enum name="CRC32" start="0x1" description="CRC32 (IEEE 802.3)" />
+      </BitField>
+      <BitField start="8" size="6" name="CRCSRC" description="CRC Input Source">
+        <Enum name="DISABLE" start="0x0" description="CRC Disabled" />
+        <Enum name="IO" start="0x1" description="I/O interface" />
+      </BitField>
+      <BitField start="14" size="2" name="CRCMODE" description="CRC Operating Mode">
+        <Enum name="DEFAULT" start="0x0" description="Default operating mode" />
+        <Enum name="CRCMON" start="0x2" description="Memory CRC monitor operating mode" />
+        <Enum name="CRCGEN" start="0x3" description="Memory CRC generation operating mode" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="4" name="DMAC_CRCDATAIN" access="Read/Write" description="CRC Data Input" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CRCDATAIN" description="CRC Data Input" />
+    </Register>
+    <Register start="+0x08" size="4" name="DMAC_CRCCHKSUM" access="Read/Write" description="CRC Checksum" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CRCCHKSUM" description="CRC Checksum" />
+    </Register>
+    <Register start="+0x0C" size="1" name="DMAC_CRCSTATUS" access="Read/Write" description="CRC Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CRCBUSY" description="CRC Module Busy" />
+      <BitField start="1" size="1" name="CRCZERO" description="CRC Zero" />
+      <BitField start="2" size="1" name="CRCERR" description="CRC Error" />
+    </Register>
+    <Register start="+0x0D" size="1" name="DMAC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run" />
+    </Register>
+    <Register start="+0x10" size="4" name="DMAC_SWTRIGCTRL" access="Read/Write" description="Software Trigger Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWTRIG0" description="Channel 0 Software Trigger" />
+      <BitField start="1" size="1" name="SWTRIG1" description="Channel 1 Software Trigger" />
+      <BitField start="2" size="1" name="SWTRIG2" description="Channel 2 Software Trigger" />
+      <BitField start="3" size="1" name="SWTRIG3" description="Channel 3 Software Trigger" />
+      <BitField start="4" size="1" name="SWTRIG4" description="Channel 4 Software Trigger" />
+      <BitField start="5" size="1" name="SWTRIG5" description="Channel 5 Software Trigger" />
+      <BitField start="6" size="1" name="SWTRIG6" description="Channel 6 Software Trigger" />
+      <BitField start="7" size="1" name="SWTRIG7" description="Channel 7 Software Trigger" />
+      <BitField start="8" size="1" name="SWTRIG8" description="Channel 8 Software Trigger" />
+      <BitField start="9" size="1" name="SWTRIG9" description="Channel 9 Software Trigger" />
+      <BitField start="10" size="1" name="SWTRIG10" description="Channel 10 Software Trigger" />
+      <BitField start="11" size="1" name="SWTRIG11" description="Channel 11 Software Trigger" />
+      <BitField start="12" size="1" name="SWTRIG12" description="Channel 12 Software Trigger" />
+      <BitField start="13" size="1" name="SWTRIG13" description="Channel 13 Software Trigger" />
+      <BitField start="14" size="1" name="SWTRIG14" description="Channel 14 Software Trigger" />
+      <BitField start="15" size="1" name="SWTRIG15" description="Channel 15 Software Trigger" />
+      <BitField start="16" size="1" name="SWTRIG16" description="Channel 16 Software Trigger" />
+      <BitField start="17" size="1" name="SWTRIG17" description="Channel 17 Software Trigger" />
+      <BitField start="18" size="1" name="SWTRIG18" description="Channel 18 Software Trigger" />
+      <BitField start="19" size="1" name="SWTRIG19" description="Channel 19 Software Trigger" />
+      <BitField start="20" size="1" name="SWTRIG20" description="Channel 20 Software Trigger" />
+      <BitField start="21" size="1" name="SWTRIG21" description="Channel 21 Software Trigger" />
+      <BitField start="22" size="1" name="SWTRIG22" description="Channel 22 Software Trigger" />
+      <BitField start="23" size="1" name="SWTRIG23" description="Channel 23 Software Trigger" />
+      <BitField start="24" size="1" name="SWTRIG24" description="Channel 24 Software Trigger" />
+      <BitField start="25" size="1" name="SWTRIG25" description="Channel 25 Software Trigger" />
+      <BitField start="26" size="1" name="SWTRIG26" description="Channel 26 Software Trigger" />
+      <BitField start="27" size="1" name="SWTRIG27" description="Channel 27 Software Trigger" />
+      <BitField start="28" size="1" name="SWTRIG28" description="Channel 28 Software Trigger" />
+      <BitField start="29" size="1" name="SWTRIG29" description="Channel 29 Software Trigger" />
+      <BitField start="30" size="1" name="SWTRIG30" description="Channel 30 Software Trigger" />
+      <BitField start="31" size="1" name="SWTRIG31" description="Channel 31 Software Trigger" />
+    </Register>
+    <Register start="+0x14" size="4" name="DMAC_PRICTRL0" access="Read/Write" description="Priority Control 0" reset_value="0x40404040" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="LVLPRI0" description="Level 0 Channel Priority Number" />
+      <BitField start="5" size="2" name="QOS0" description="Level 0 Quality of Service">
+        <Enum name="REGULAR" start="0x0" description="Regular delivery" />
+        <Enum name="SHORTAGE" start="0x1" description="Bandwidth shortage" />
+        <Enum name="SENSITIVE" start="0x2" description="Latency sensitive" />
+        <Enum name="CRITICAL" start="0x3" description="Latency critical" />
+      </BitField>
+      <BitField start="7" size="1" name="RRLVLEN0" description="Level 0 Round-Robin Scheduling Enable" />
+      <BitField start="8" size="5" name="LVLPRI1" description="Level 1 Channel Priority Number" />
+      <BitField start="13" size="2" name="QOS1" description="Level 1 Quality of Service">
+        <Enum name="REGULAR" start="0x0" description="Regular delivery" />
+        <Enum name="SHORTAGE" start="0x1" description="Bandwidth shortage" />
+        <Enum name="SENSITIVE" start="0x2" description="Latency sensitive" />
+        <Enum name="CRITICAL" start="0x3" description="Latency critical" />
+      </BitField>
+      <BitField start="15" size="1" name="RRLVLEN1" description="Level 1 Round-Robin Scheduling Enable" />
+      <BitField start="16" size="5" name="LVLPRI2" description="Level 2 Channel Priority Number" />
+      <BitField start="21" size="2" name="QOS2" description="Level 2 Quality of Service">
+        <Enum name="REGULAR" start="0x0" description="Regular delivery" />
+        <Enum name="SHORTAGE" start="0x1" description="Bandwidth shortage" />
+        <Enum name="SENSITIVE" start="0x2" description="Latency sensitive" />
+        <Enum name="CRITICAL" start="0x3" description="Latency critical" />
+      </BitField>
+      <BitField start="23" size="1" name="RRLVLEN2" description="Level 2 Round-Robin Scheduling Enable" />
+      <BitField start="24" size="5" name="LVLPRI3" description="Level 3 Channel Priority Number" />
+      <BitField start="29" size="2" name="QOS3" description="Level 3 Quality of Service">
+        <Enum name="REGULAR" start="0x0" description="Regular delivery" />
+        <Enum name="SHORTAGE" start="0x1" description="Bandwidth shortage" />
+        <Enum name="SENSITIVE" start="0x2" description="Latency sensitive" />
+        <Enum name="CRITICAL" start="0x3" description="Latency critical" />
+      </BitField>
+      <BitField start="31" size="1" name="RRLVLEN3" description="Level 3 Round-Robin Scheduling Enable" />
+    </Register>
+    <Register start="+0x20" size="2" name="DMAC_INTPEND" access="Read/Write" description="Interrupt Pending" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="ID" description="Channel ID" />
+      <BitField start="8" size="1" name="TERR" description="Transfer Error" />
+      <BitField start="9" size="1" name="TCMPL" description="Transfer Complete" />
+      <BitField start="10" size="1" name="SUSP" description="Channel Suspend" />
+      <BitField start="12" size="1" name="CRCERR" description="CRC Error" />
+      <BitField start="13" size="1" name="FERR" description="Fetch Error" />
+      <BitField start="14" size="1" name="BUSY" description="Busy" />
+      <BitField start="15" size="1" name="PEND" description="Pending" />
+    </Register>
+    <Register start="+0x24" size="4" name="DMAC_INTSTATUS" access="ReadOnly" description="Interrupt Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CHINT0" description="Channel 0 Pending Interrupt" />
+      <BitField start="1" size="1" name="CHINT1" description="Channel 1 Pending Interrupt" />
+      <BitField start="2" size="1" name="CHINT2" description="Channel 2 Pending Interrupt" />
+      <BitField start="3" size="1" name="CHINT3" description="Channel 3 Pending Interrupt" />
+      <BitField start="4" size="1" name="CHINT4" description="Channel 4 Pending Interrupt" />
+      <BitField start="5" size="1" name="CHINT5" description="Channel 5 Pending Interrupt" />
+      <BitField start="6" size="1" name="CHINT6" description="Channel 6 Pending Interrupt" />
+      <BitField start="7" size="1" name="CHINT7" description="Channel 7 Pending Interrupt" />
+      <BitField start="8" size="1" name="CHINT8" description="Channel 8 Pending Interrupt" />
+      <BitField start="9" size="1" name="CHINT9" description="Channel 9 Pending Interrupt" />
+      <BitField start="10" size="1" name="CHINT10" description="Channel 10 Pending Interrupt" />
+      <BitField start="11" size="1" name="CHINT11" description="Channel 11 Pending Interrupt" />
+      <BitField start="12" size="1" name="CHINT12" description="Channel 12 Pending Interrupt" />
+      <BitField start="13" size="1" name="CHINT13" description="Channel 13 Pending Interrupt" />
+      <BitField start="14" size="1" name="CHINT14" description="Channel 14 Pending Interrupt" />
+      <BitField start="15" size="1" name="CHINT15" description="Channel 15 Pending Interrupt" />
+      <BitField start="16" size="1" name="CHINT16" description="Channel 16 Pending Interrupt" />
+      <BitField start="17" size="1" name="CHINT17" description="Channel 17 Pending Interrupt" />
+      <BitField start="18" size="1" name="CHINT18" description="Channel 18 Pending Interrupt" />
+      <BitField start="19" size="1" name="CHINT19" description="Channel 19 Pending Interrupt" />
+      <BitField start="20" size="1" name="CHINT20" description="Channel 20 Pending Interrupt" />
+      <BitField start="21" size="1" name="CHINT21" description="Channel 21 Pending Interrupt" />
+      <BitField start="22" size="1" name="CHINT22" description="Channel 22 Pending Interrupt" />
+      <BitField start="23" size="1" name="CHINT23" description="Channel 23 Pending Interrupt" />
+      <BitField start="24" size="1" name="CHINT24" description="Channel 24 Pending Interrupt" />
+      <BitField start="25" size="1" name="CHINT25" description="Channel 25 Pending Interrupt" />
+      <BitField start="26" size="1" name="CHINT26" description="Channel 26 Pending Interrupt" />
+      <BitField start="27" size="1" name="CHINT27" description="Channel 27 Pending Interrupt" />
+      <BitField start="28" size="1" name="CHINT28" description="Channel 28 Pending Interrupt" />
+      <BitField start="29" size="1" name="CHINT29" description="Channel 29 Pending Interrupt" />
+      <BitField start="30" size="1" name="CHINT30" description="Channel 30 Pending Interrupt" />
+      <BitField start="31" size="1" name="CHINT31" description="Channel 31 Pending Interrupt" />
+    </Register>
+    <Register start="+0x28" size="4" name="DMAC_BUSYCH" access="ReadOnly" description="Busy Channels" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSYCH0" description="Busy Channel 0" />
+      <BitField start="1" size="1" name="BUSYCH1" description="Busy Channel 1" />
+      <BitField start="2" size="1" name="BUSYCH2" description="Busy Channel 2" />
+      <BitField start="3" size="1" name="BUSYCH3" description="Busy Channel 3" />
+      <BitField start="4" size="1" name="BUSYCH4" description="Busy Channel 4" />
+      <BitField start="5" size="1" name="BUSYCH5" description="Busy Channel 5" />
+      <BitField start="6" size="1" name="BUSYCH6" description="Busy Channel 6" />
+      <BitField start="7" size="1" name="BUSYCH7" description="Busy Channel 7" />
+      <BitField start="8" size="1" name="BUSYCH8" description="Busy Channel 8" />
+      <BitField start="9" size="1" name="BUSYCH9" description="Busy Channel 9" />
+      <BitField start="10" size="1" name="BUSYCH10" description="Busy Channel 10" />
+      <BitField start="11" size="1" name="BUSYCH11" description="Busy Channel 11" />
+      <BitField start="12" size="1" name="BUSYCH12" description="Busy Channel 12" />
+      <BitField start="13" size="1" name="BUSYCH13" description="Busy Channel 13" />
+      <BitField start="14" size="1" name="BUSYCH14" description="Busy Channel 14" />
+      <BitField start="15" size="1" name="BUSYCH15" description="Busy Channel 15" />
+      <BitField start="16" size="1" name="BUSYCH16" description="Busy Channel 16" />
+      <BitField start="17" size="1" name="BUSYCH17" description="Busy Channel 17" />
+      <BitField start="18" size="1" name="BUSYCH18" description="Busy Channel 18" />
+      <BitField start="19" size="1" name="BUSYCH19" description="Busy Channel 19" />
+      <BitField start="20" size="1" name="BUSYCH20" description="Busy Channel 20" />
+      <BitField start="21" size="1" name="BUSYCH21" description="Busy Channel 21" />
+      <BitField start="22" size="1" name="BUSYCH22" description="Busy Channel 22" />
+      <BitField start="23" size="1" name="BUSYCH23" description="Busy Channel 23" />
+      <BitField start="24" size="1" name="BUSYCH24" description="Busy Channel 24" />
+      <BitField start="25" size="1" name="BUSYCH25" description="Busy Channel 25" />
+      <BitField start="26" size="1" name="BUSYCH26" description="Busy Channel 26" />
+      <BitField start="27" size="1" name="BUSYCH27" description="Busy Channel 27" />
+      <BitField start="28" size="1" name="BUSYCH28" description="Busy Channel 28" />
+      <BitField start="29" size="1" name="BUSYCH29" description="Busy Channel 29" />
+      <BitField start="30" size="1" name="BUSYCH30" description="Busy Channel 30" />
+      <BitField start="31" size="1" name="BUSYCH31" description="Busy Channel 31" />
+    </Register>
+    <Register start="+0x2C" size="4" name="DMAC_PENDCH" access="ReadOnly" description="Pending Channels" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PENDCH0" description="Pending Channel 0" />
+      <BitField start="1" size="1" name="PENDCH1" description="Pending Channel 1" />
+      <BitField start="2" size="1" name="PENDCH2" description="Pending Channel 2" />
+      <BitField start="3" size="1" name="PENDCH3" description="Pending Channel 3" />
+      <BitField start="4" size="1" name="PENDCH4" description="Pending Channel 4" />
+      <BitField start="5" size="1" name="PENDCH5" description="Pending Channel 5" />
+      <BitField start="6" size="1" name="PENDCH6" description="Pending Channel 6" />
+      <BitField start="7" size="1" name="PENDCH7" description="Pending Channel 7" />
+      <BitField start="8" size="1" name="PENDCH8" description="Pending Channel 8" />
+      <BitField start="9" size="1" name="PENDCH9" description="Pending Channel 9" />
+      <BitField start="10" size="1" name="PENDCH10" description="Pending Channel 10" />
+      <BitField start="11" size="1" name="PENDCH11" description="Pending Channel 11" />
+      <BitField start="12" size="1" name="PENDCH12" description="Pending Channel 12" />
+      <BitField start="13" size="1" name="PENDCH13" description="Pending Channel 13" />
+      <BitField start="14" size="1" name="PENDCH14" description="Pending Channel 14" />
+      <BitField start="15" size="1" name="PENDCH15" description="Pending Channel 15" />
+      <BitField start="16" size="1" name="PENDCH16" description="Pending Channel 16" />
+      <BitField start="17" size="1" name="PENDCH17" description="Pending Channel 17" />
+      <BitField start="18" size="1" name="PENDCH18" description="Pending Channel 18" />
+      <BitField start="19" size="1" name="PENDCH19" description="Pending Channel 19" />
+      <BitField start="20" size="1" name="PENDCH20" description="Pending Channel 20" />
+      <BitField start="21" size="1" name="PENDCH21" description="Pending Channel 21" />
+      <BitField start="22" size="1" name="PENDCH22" description="Pending Channel 22" />
+      <BitField start="23" size="1" name="PENDCH23" description="Pending Channel 23" />
+      <BitField start="24" size="1" name="PENDCH24" description="Pending Channel 24" />
+      <BitField start="25" size="1" name="PENDCH25" description="Pending Channel 25" />
+      <BitField start="26" size="1" name="PENDCH26" description="Pending Channel 26" />
+      <BitField start="27" size="1" name="PENDCH27" description="Pending Channel 27" />
+      <BitField start="28" size="1" name="PENDCH28" description="Pending Channel 28" />
+      <BitField start="29" size="1" name="PENDCH29" description="Pending Channel 29" />
+      <BitField start="30" size="1" name="PENDCH30" description="Pending Channel 30" />
+      <BitField start="31" size="1" name="PENDCH31" description="Pending Channel 31" />
+    </Register>
+    <Register start="+0x30" size="4" name="DMAC_ACTIVE" access="ReadOnly" description="Active Channel and Levels" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="LVLEX0" description="Level 0 Channel Trigger Request Executing" />
+      <BitField start="1" size="1" name="LVLEX1" description="Level 1 Channel Trigger Request Executing" />
+      <BitField start="2" size="1" name="LVLEX2" description="Level 2 Channel Trigger Request Executing" />
+      <BitField start="3" size="1" name="LVLEX3" description="Level 3 Channel Trigger Request Executing" />
+      <BitField start="8" size="5" name="ID" description="Active Channel ID" />
+      <BitField start="15" size="1" name="ABUSY" description="Active Channel Busy" />
+      <BitField start="16" size="16" name="BTCNT" description="Active Channel Block Transfer Count" />
+    </Register>
+    <Register start="+0x34" size="4" name="DMAC_BASEADDR" access="Read/Write" description="Descriptor Memory Section Base Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BASEADDR" description="Descriptor Memory Base Address" />
+    </Register>
+    <Register start="+0x38" size="4" name="DMAC_WRBADDR" access="Read/Write" description="Write-Back Memory Section Base Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="WRBADDR" description="Write-Back Memory Base Address" />
+    </Register>
+    <Register start="+0x40+0" size="4" name="DMAC_CHCTRLA0" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+16" size="4" name="DMAC_CHCTRLA1" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+32" size="4" name="DMAC_CHCTRLA2" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+48" size="4" name="DMAC_CHCTRLA3" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+64" size="4" name="DMAC_CHCTRLA4" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+80" size="4" name="DMAC_CHCTRLA5" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+96" size="4" name="DMAC_CHCTRLA6" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+112" size="4" name="DMAC_CHCTRLA7" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+128" size="4" name="DMAC_CHCTRLA8" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+144" size="4" name="DMAC_CHCTRLA9" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+160" size="4" name="DMAC_CHCTRLA10" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+176" size="4" name="DMAC_CHCTRLA11" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+192" size="4" name="DMAC_CHCTRLA12" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+208" size="4" name="DMAC_CHCTRLA13" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+224" size="4" name="DMAC_CHCTRLA14" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+240" size="4" name="DMAC_CHCTRLA15" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+256" size="4" name="DMAC_CHCTRLA16" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+272" size="4" name="DMAC_CHCTRLA17" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+288" size="4" name="DMAC_CHCTRLA18" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+304" size="4" name="DMAC_CHCTRLA19" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+320" size="4" name="DMAC_CHCTRLA20" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+336" size="4" name="DMAC_CHCTRLA21" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+352" size="4" name="DMAC_CHCTRLA22" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+368" size="4" name="DMAC_CHCTRLA23" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+384" size="4" name="DMAC_CHCTRLA24" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+400" size="4" name="DMAC_CHCTRLA25" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+416" size="4" name="DMAC_CHCTRLA26" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+432" size="4" name="DMAC_CHCTRLA27" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+448" size="4" name="DMAC_CHCTRLA28" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+464" size="4" name="DMAC_CHCTRLA29" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+480" size="4" name="DMAC_CHCTRLA30" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+496" size="4" name="DMAC_CHCTRLA31" access="Read/Write" description="Channel n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Channel Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Channel Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Channel Run in Standby" />
+      <BitField start="8" size="7" name="TRIGSRC" description="Trigger Source">
+        <Enum name="DISABLE" start="0x0" description="Only software/event triggers" />
+      </BitField>
+      <BitField start="20" size="2" name="TRIGACT" description="Trigger Action">
+        <Enum name="BLOCK" start="0x0" description="One trigger required for each block transfer" />
+        <Enum name="BURST" start="0x2" description="One trigger required for each burst transfer" />
+        <Enum name="TRANSACTION" start="0x3" description="One trigger required for each transaction" />
+      </BitField>
+      <BitField start="24" size="4" name="BURSTLEN" description="Burst Length">
+        <Enum name="SINGLE" start="0x0" description="Single-beat burst length" />
+        <Enum name="2BEAT" start="0x1" description="2-beats burst length" />
+        <Enum name="3BEAT" start="0x2" description="3-beats burst length" />
+        <Enum name="4BEAT" start="0x3" description="4-beats burst length" />
+        <Enum name="5BEAT" start="0x4" description="5-beats burst length" />
+        <Enum name="6BEAT" start="0x5" description="6-beats burst length" />
+        <Enum name="7BEAT" start="0x6" description="7-beats burst length" />
+        <Enum name="8BEAT" start="0x7" description="8-beats burst length" />
+        <Enum name="9BEAT" start="0x8" description="9-beats burst length" />
+        <Enum name="10BEAT" start="0x9" description="10-beats burst length" />
+        <Enum name="11BEAT" start="0xa" description="11-beats burst length" />
+        <Enum name="12BEAT" start="0xb" description="12-beats burst length" />
+        <Enum name="13BEAT" start="0xc" description="13-beats burst length" />
+        <Enum name="14BEAT" start="0xd" description="14-beats burst length" />
+        <Enum name="15BEAT" start="0xe" description="15-beats burst length" />
+        <Enum name="16BEAT" start="0xf" description="16-beats burst length" />
+      </BitField>
+      <BitField start="28" size="2" name="THRESHOLD" description="FIFO Threshold">
+        <Enum name="1BEAT" start="0x0" description="Destination write starts after each beat source address read" />
+        <Enum name="2BEATS" start="0x1" description="Destination write starts after 2-beats source address read" />
+        <Enum name="4BEATS" start="0x2" description="Destination write starts after 4-beats source address read" />
+        <Enum name="8BEATS" start="0x3" description="Destination write starts after 8-beats source address read" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+0" size="1" name="DMAC_CHCTRLB0" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+16" size="1" name="DMAC_CHCTRLB1" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+32" size="1" name="DMAC_CHCTRLB2" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+48" size="1" name="DMAC_CHCTRLB3" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+64" size="1" name="DMAC_CHCTRLB4" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+80" size="1" name="DMAC_CHCTRLB5" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+96" size="1" name="DMAC_CHCTRLB6" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+112" size="1" name="DMAC_CHCTRLB7" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+128" size="1" name="DMAC_CHCTRLB8" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+144" size="1" name="DMAC_CHCTRLB9" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+160" size="1" name="DMAC_CHCTRLB10" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+176" size="1" name="DMAC_CHCTRLB11" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+192" size="1" name="DMAC_CHCTRLB12" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+208" size="1" name="DMAC_CHCTRLB13" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+224" size="1" name="DMAC_CHCTRLB14" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+240" size="1" name="DMAC_CHCTRLB15" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+256" size="1" name="DMAC_CHCTRLB16" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+272" size="1" name="DMAC_CHCTRLB17" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+288" size="1" name="DMAC_CHCTRLB18" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+304" size="1" name="DMAC_CHCTRLB19" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+320" size="1" name="DMAC_CHCTRLB20" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+336" size="1" name="DMAC_CHCTRLB21" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+352" size="1" name="DMAC_CHCTRLB22" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+368" size="1" name="DMAC_CHCTRLB23" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+384" size="1" name="DMAC_CHCTRLB24" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+400" size="1" name="DMAC_CHCTRLB25" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+416" size="1" name="DMAC_CHCTRLB26" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+432" size="1" name="DMAC_CHCTRLB27" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+448" size="1" name="DMAC_CHCTRLB28" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+464" size="1" name="DMAC_CHCTRLB29" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+480" size="1" name="DMAC_CHCTRLB30" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x44+496" size="1" name="DMAC_CHCTRLB31" access="Read/Write" description="Channel n Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMD" description="Software Command">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="SUSPEND" start="0x1" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x2" description="Channel resume operation" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+0" size="1" name="DMAC_CHPRILVL0" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+16" size="1" name="DMAC_CHPRILVL1" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+32" size="1" name="DMAC_CHPRILVL2" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+48" size="1" name="DMAC_CHPRILVL3" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+64" size="1" name="DMAC_CHPRILVL4" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+80" size="1" name="DMAC_CHPRILVL5" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+96" size="1" name="DMAC_CHPRILVL6" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+112" size="1" name="DMAC_CHPRILVL7" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+128" size="1" name="DMAC_CHPRILVL8" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+144" size="1" name="DMAC_CHPRILVL9" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+160" size="1" name="DMAC_CHPRILVL10" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+176" size="1" name="DMAC_CHPRILVL11" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+192" size="1" name="DMAC_CHPRILVL12" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+208" size="1" name="DMAC_CHPRILVL13" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+224" size="1" name="DMAC_CHPRILVL14" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+240" size="1" name="DMAC_CHPRILVL15" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+256" size="1" name="DMAC_CHPRILVL16" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+272" size="1" name="DMAC_CHPRILVL17" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+288" size="1" name="DMAC_CHPRILVL18" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+304" size="1" name="DMAC_CHPRILVL19" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+320" size="1" name="DMAC_CHPRILVL20" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+336" size="1" name="DMAC_CHPRILVL21" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+352" size="1" name="DMAC_CHPRILVL22" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+368" size="1" name="DMAC_CHPRILVL23" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+384" size="1" name="DMAC_CHPRILVL24" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+400" size="1" name="DMAC_CHPRILVL25" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+416" size="1" name="DMAC_CHPRILVL26" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+432" size="1" name="DMAC_CHPRILVL27" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+448" size="1" name="DMAC_CHPRILVL28" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+464" size="1" name="DMAC_CHPRILVL29" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+480" size="1" name="DMAC_CHPRILVL30" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x45+496" size="1" name="DMAC_CHPRILVL31" access="Read/Write" description="Channel n Priority Level" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PRILVL" description="Channel Priority Level">
+        <Enum name="LVL0" start="0x0" description="Channel Priority Level 0 (Lowest Level)" />
+        <Enum name="LVL1" start="0x1" description="Channel Priority Level 1" />
+        <Enum name="LVL2" start="0x2" description="Channel Priority Level 2" />
+        <Enum name="LVL3" start="0x3" description="Channel Priority Level 3" />
+        <Enum name="LVL4" start="0x4" description="Channel Priority Level 4" />
+        <Enum name="LVL5" start="0x5" description="Channel Priority Level 5" />
+        <Enum name="LVL6" start="0x6" description="Channel Priority Level 6" />
+        <Enum name="LVL7" start="0x7" description="Channel Priority Level 7 (Highest Level)" />
+      </BitField>
+    </Register>
+    <Register start="+0x46+0" size="1" name="DMAC_CHEVCTRL0" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+16" size="1" name="DMAC_CHEVCTRL1" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+32" size="1" name="DMAC_CHEVCTRL2" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+48" size="1" name="DMAC_CHEVCTRL3" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+64" size="1" name="DMAC_CHEVCTRL4" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+80" size="1" name="DMAC_CHEVCTRL5" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+96" size="1" name="DMAC_CHEVCTRL6" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+112" size="1" name="DMAC_CHEVCTRL7" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+128" size="1" name="DMAC_CHEVCTRL8" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+144" size="1" name="DMAC_CHEVCTRL9" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+160" size="1" name="DMAC_CHEVCTRL10" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+176" size="1" name="DMAC_CHEVCTRL11" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+192" size="1" name="DMAC_CHEVCTRL12" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+208" size="1" name="DMAC_CHEVCTRL13" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+224" size="1" name="DMAC_CHEVCTRL14" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+240" size="1" name="DMAC_CHEVCTRL15" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+256" size="1" name="DMAC_CHEVCTRL16" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+272" size="1" name="DMAC_CHEVCTRL17" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+288" size="1" name="DMAC_CHEVCTRL18" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+304" size="1" name="DMAC_CHEVCTRL19" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+320" size="1" name="DMAC_CHEVCTRL20" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+336" size="1" name="DMAC_CHEVCTRL21" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+352" size="1" name="DMAC_CHEVCTRL22" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+368" size="1" name="DMAC_CHEVCTRL23" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+384" size="1" name="DMAC_CHEVCTRL24" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+400" size="1" name="DMAC_CHEVCTRL25" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+416" size="1" name="DMAC_CHEVCTRL26" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+432" size="1" name="DMAC_CHEVCTRL27" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+448" size="1" name="DMAC_CHEVCTRL28" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+464" size="1" name="DMAC_CHEVCTRL29" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+480" size="1" name="DMAC_CHEVCTRL30" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x46+496" size="1" name="DMAC_CHEVCTRL31" access="Read/Write" description="Channel n Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Channel Event Input Action">
+        <Enum name="NOACT" start="0x0" description="No action" />
+        <Enum name="TRIG" start="0x1" description="Transfer and periodic transfer trigger" />
+        <Enum name="CTRIG" start="0x2" description="Conditional transfer trigger" />
+        <Enum name="CBLOCK" start="0x3" description="Conditional block transfer" />
+        <Enum name="SUSPEND" start="0x4" description="Channel suspend operation" />
+        <Enum name="RESUME" start="0x5" description="Channel resume operation" />
+        <Enum name="SSKIP" start="0x6" description="Skip next block suspend action" />
+        <Enum name="INCPRI" start="0x7" description="Increase priority" />
+      </BitField>
+      <BitField start="4" size="2" name="EVOMODE" description="Channel Event Output Mode">
+        <Enum name="DEFAULT" start="0x0" description="Block event output selection. Refer to BTCTRL.EVOSEL for available selections." />
+        <Enum name="TRIGACT" start="0x1" description="Ongoing trigger action" />
+      </BitField>
+      <BitField start="6" size="1" name="EVIE" description="Channel Event Input Enable" />
+      <BitField start="7" size="1" name="EVOE" description="Channel Event Output Enable" />
+    </Register>
+    <Register start="+0x4C+0" size="1" name="DMAC_CHINTENCLR0" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+16" size="1" name="DMAC_CHINTENCLR1" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+32" size="1" name="DMAC_CHINTENCLR2" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+48" size="1" name="DMAC_CHINTENCLR3" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+64" size="1" name="DMAC_CHINTENCLR4" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+80" size="1" name="DMAC_CHINTENCLR5" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+96" size="1" name="DMAC_CHINTENCLR6" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+112" size="1" name="DMAC_CHINTENCLR7" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+128" size="1" name="DMAC_CHINTENCLR8" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+144" size="1" name="DMAC_CHINTENCLR9" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+160" size="1" name="DMAC_CHINTENCLR10" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+176" size="1" name="DMAC_CHINTENCLR11" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+192" size="1" name="DMAC_CHINTENCLR12" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+208" size="1" name="DMAC_CHINTENCLR13" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+224" size="1" name="DMAC_CHINTENCLR14" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+240" size="1" name="DMAC_CHINTENCLR15" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+256" size="1" name="DMAC_CHINTENCLR16" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+272" size="1" name="DMAC_CHINTENCLR17" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+288" size="1" name="DMAC_CHINTENCLR18" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+304" size="1" name="DMAC_CHINTENCLR19" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+320" size="1" name="DMAC_CHINTENCLR20" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+336" size="1" name="DMAC_CHINTENCLR21" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+352" size="1" name="DMAC_CHINTENCLR22" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+368" size="1" name="DMAC_CHINTENCLR23" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+384" size="1" name="DMAC_CHINTENCLR24" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+400" size="1" name="DMAC_CHINTENCLR25" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+416" size="1" name="DMAC_CHINTENCLR26" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+432" size="1" name="DMAC_CHINTENCLR27" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+448" size="1" name="DMAC_CHINTENCLR28" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+464" size="1" name="DMAC_CHINTENCLR29" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+480" size="1" name="DMAC_CHINTENCLR30" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4C+496" size="1" name="DMAC_CHINTENCLR31" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+0" size="1" name="DMAC_CHINTENSET0" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+16" size="1" name="DMAC_CHINTENSET1" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+32" size="1" name="DMAC_CHINTENSET2" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+48" size="1" name="DMAC_CHINTENSET3" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+64" size="1" name="DMAC_CHINTENSET4" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+80" size="1" name="DMAC_CHINTENSET5" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+96" size="1" name="DMAC_CHINTENSET6" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+112" size="1" name="DMAC_CHINTENSET7" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+128" size="1" name="DMAC_CHINTENSET8" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+144" size="1" name="DMAC_CHINTENSET9" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+160" size="1" name="DMAC_CHINTENSET10" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+176" size="1" name="DMAC_CHINTENSET11" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+192" size="1" name="DMAC_CHINTENSET12" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+208" size="1" name="DMAC_CHINTENSET13" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+224" size="1" name="DMAC_CHINTENSET14" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+240" size="1" name="DMAC_CHINTENSET15" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+256" size="1" name="DMAC_CHINTENSET16" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+272" size="1" name="DMAC_CHINTENSET17" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+288" size="1" name="DMAC_CHINTENSET18" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+304" size="1" name="DMAC_CHINTENSET19" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+320" size="1" name="DMAC_CHINTENSET20" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+336" size="1" name="DMAC_CHINTENSET21" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+352" size="1" name="DMAC_CHINTENSET22" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+368" size="1" name="DMAC_CHINTENSET23" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+384" size="1" name="DMAC_CHINTENSET24" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+400" size="1" name="DMAC_CHINTENSET25" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+416" size="1" name="DMAC_CHINTENSET26" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+432" size="1" name="DMAC_CHINTENSET27" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+448" size="1" name="DMAC_CHINTENSET28" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+464" size="1" name="DMAC_CHINTENSET29" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+480" size="1" name="DMAC_CHINTENSET30" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4D+496" size="1" name="DMAC_CHINTENSET31" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error Interrupt Enable" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x4E+0" size="1" name="DMAC_CHINTFLAG0" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+16" size="1" name="DMAC_CHINTFLAG1" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+32" size="1" name="DMAC_CHINTFLAG2" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+48" size="1" name="DMAC_CHINTFLAG3" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+64" size="1" name="DMAC_CHINTFLAG4" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+80" size="1" name="DMAC_CHINTFLAG5" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+96" size="1" name="DMAC_CHINTFLAG6" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+112" size="1" name="DMAC_CHINTFLAG7" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+128" size="1" name="DMAC_CHINTFLAG8" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+144" size="1" name="DMAC_CHINTFLAG9" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+160" size="1" name="DMAC_CHINTFLAG10" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+176" size="1" name="DMAC_CHINTFLAG11" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+192" size="1" name="DMAC_CHINTFLAG12" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+208" size="1" name="DMAC_CHINTFLAG13" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+224" size="1" name="DMAC_CHINTFLAG14" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+240" size="1" name="DMAC_CHINTFLAG15" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+256" size="1" name="DMAC_CHINTFLAG16" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+272" size="1" name="DMAC_CHINTFLAG17" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+288" size="1" name="DMAC_CHINTFLAG18" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+304" size="1" name="DMAC_CHINTFLAG19" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+320" size="1" name="DMAC_CHINTFLAG20" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+336" size="1" name="DMAC_CHINTFLAG21" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+352" size="1" name="DMAC_CHINTFLAG22" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+368" size="1" name="DMAC_CHINTFLAG23" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+384" size="1" name="DMAC_CHINTFLAG24" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+400" size="1" name="DMAC_CHINTFLAG25" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+416" size="1" name="DMAC_CHINTFLAG26" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+432" size="1" name="DMAC_CHINTFLAG27" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+448" size="1" name="DMAC_CHINTFLAG28" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+464" size="1" name="DMAC_CHINTFLAG29" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+480" size="1" name="DMAC_CHINTFLAG30" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4E+496" size="1" name="DMAC_CHINTFLAG31" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TERR" description="Channel Transfer Error" />
+      <BitField start="1" size="1" name="TCMPL" description="Channel Transfer Complete" />
+      <BitField start="2" size="1" name="SUSP" description="Channel Suspend" />
+    </Register>
+    <Register start="+0x4F+0" size="1" name="DMAC_CHSTATUS0" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+16" size="1" name="DMAC_CHSTATUS1" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+32" size="1" name="DMAC_CHSTATUS2" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+48" size="1" name="DMAC_CHSTATUS3" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+64" size="1" name="DMAC_CHSTATUS4" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+80" size="1" name="DMAC_CHSTATUS5" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+96" size="1" name="DMAC_CHSTATUS6" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+112" size="1" name="DMAC_CHSTATUS7" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+128" size="1" name="DMAC_CHSTATUS8" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+144" size="1" name="DMAC_CHSTATUS9" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+160" size="1" name="DMAC_CHSTATUS10" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+176" size="1" name="DMAC_CHSTATUS11" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+192" size="1" name="DMAC_CHSTATUS12" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+208" size="1" name="DMAC_CHSTATUS13" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+224" size="1" name="DMAC_CHSTATUS14" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+240" size="1" name="DMAC_CHSTATUS15" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+256" size="1" name="DMAC_CHSTATUS16" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+272" size="1" name="DMAC_CHSTATUS17" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+288" size="1" name="DMAC_CHSTATUS18" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+304" size="1" name="DMAC_CHSTATUS19" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+320" size="1" name="DMAC_CHSTATUS20" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+336" size="1" name="DMAC_CHSTATUS21" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+352" size="1" name="DMAC_CHSTATUS22" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+368" size="1" name="DMAC_CHSTATUS23" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+384" size="1" name="DMAC_CHSTATUS24" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+400" size="1" name="DMAC_CHSTATUS25" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+416" size="1" name="DMAC_CHSTATUS26" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+432" size="1" name="DMAC_CHSTATUS27" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+448" size="1" name="DMAC_CHSTATUS28" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+464" size="1" name="DMAC_CHSTATUS29" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+480" size="1" name="DMAC_CHSTATUS30" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+    <Register start="+0x4F+496" size="1" name="DMAC_CHSTATUS31" access="Read/Write" description="Channel n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEND" description="Channel Pending" />
+      <BitField start="1" size="1" name="BUSY" description="Channel Busy" />
+      <BitField start="2" size="1" name="FERR" description="Channel Fetch Error" />
+      <BitField start="3" size="1" name="CRCERR" description="Channel CRC Error" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="DSU" start="0x41002000" description="Device Service Unit">
+    <Register start="+0x0000" size="1" name="DSU_CTRL" access="WriteOnly" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="2" size="1" name="CRC" description="32-bit Cyclic Redundancy Code" />
+      <BitField start="3" size="1" name="MBIST" description="Memory built-in self-test" />
+      <BitField start="4" size="1" name="CE" description="Chip-Erase" />
+      <BitField start="6" size="1" name="ARR" description="Auxiliary Row Read" />
+      <BitField start="7" size="1" name="SMSA" description="Start Memory Stream Access" />
+    </Register>
+    <Register start="+0x0001" size="1" name="DSU_STATUSA" access="Read/Write" description="Status A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DONE" description="Done" />
+      <BitField start="1" size="1" name="CRSTEXT" description="CPU Reset Phase Extension" />
+      <BitField start="2" size="1" name="BERR" description="Bus Error" />
+      <BitField start="3" size="1" name="FAIL" description="Failure" />
+      <BitField start="4" size="1" name="PERR" description="Protection Error" />
+    </Register>
+    <Register start="+0x0002" size="1" name="DSU_STATUSB" access="ReadOnly" description="Status B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PROT" description="Protected" />
+      <BitField start="1" size="1" name="DBGPRES" description="Debugger Present" />
+      <BitField start="2" size="1" name="DCCD0" description="Debug Communication Channel 0 Dirty" />
+      <BitField start="3" size="1" name="DCCD1" description="Debug Communication Channel 1 Dirty" />
+      <BitField start="4" size="1" name="HPE" description="Hot-Plugging Enable" />
+      <BitField start="5" size="1" name="CELCK" description="Chip Erase Locked" />
+      <BitField start="6" size="1" name="TDCCD0" description="Test Debug Communication Channel 0 Dirty" />
+      <BitField start="7" size="1" name="TDCCD1" description="Test Debug Communication Channel 1 Dirty" />
+    </Register>
+    <Register start="+0x0004" size="4" name="DSU_ADDR" access="Read/Write" description="Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="AMOD" description="Access Mode" />
+      <BitField start="2" size="30" name="ADDR" description="Address" />
+    </Register>
+    <Register start="+0x0008" size="4" name="DSU_LENGTH" access="Read/Write" description="Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="30" name="LENGTH" description="Length" />
+    </Register>
+    <Register start="+0x000C" size="4" name="DSU_DATA" access="Read/Write" description="Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data" />
+    </Register>
+    <Register start="+0x0010+0" size="4" name="DSU_DCC0" access="Read/Write" description="Debug Communication Channel n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data" />
+    </Register>
+    <Register start="+0x0010+4" size="4" name="DSU_DCC1" access="Read/Write" description="Debug Communication Channel n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data" />
+    </Register>
+    <Register start="+0x0018" size="4" name="DSU_DID" access="ReadOnly" description="Device Identification" reset_value="0x60060005" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="DEVSEL" description="Device Select" />
+      <BitField start="8" size="4" name="REVISION" description="Revision Number" />
+      <BitField start="12" size="4" name="DIE" description="Die Number" />
+      <BitField start="16" size="6" name="SERIES" description="Series">
+        <Enum name="0" start="0x0" description="Cortex-M0+ processor, basic feature set" />
+        <Enum name="1" start="0x1" description="Cortex-M0+ processor, USB" />
+      </BitField>
+      <BitField start="23" size="5" name="FAMILY" description="Family">
+        <Enum name="0" start="0x0" description="General purpose microcontroller" />
+        <Enum name="1" start="0x1" description="PicoPower" />
+      </BitField>
+      <BitField start="28" size="4" name="PROCESSOR" description="Processor">
+        <Enum name="CM0P" start="0x1" description="Cortex-M0+" />
+        <Enum name="CM23" start="0x2" description="Cortex-M23" />
+        <Enum name="CM3" start="0x3" description="Cortex-M3" />
+        <Enum name="CM4" start="0x5" description="Cortex-M4" />
+        <Enum name="CM4F" start="0x6" description="Cortex-M4 with FPU" />
+        <Enum name="CM33" start="0x7" description="Cortex-M33" />
+      </BitField>
+    </Register>
+    <Register start="+0x001C" size="4" name="DSU_CFG" access="Read/Write" description="Configuration" reset_value="0x00000002" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="LQOS" description="Latency Quality Of Service" />
+      <BitField start="2" size="2" name="DCCDMALEVEL" description="DMA Trigger Level">
+        <Enum name="EMPTY" start="0x0" description="Trigger rises when DCC is empty" />
+        <Enum name="FULL" start="0x1" description="Trigger rises when DCC is full" />
+      </BitField>
+      <BitField start="4" size="1" name="ETBRAMEN" description="Trace Control" />
+    </Register>
+    <Register start="+0x0040" size="4" name="DSU_MBCTRL" access="Read/Write" description="MBIST Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="MBIST Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="MBIST Enable" />
+    </Register>
+    <Register start="+0x0044" size="4" name="DSU_MBCONFIG" access="Read/Write" description="MBIST Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="ALGO" description="MBIST Algorithm">
+        <Enum name="MEMCLEAR" start="0x0" description="Memory Clear (1n)" />
+        <Enum name="VERIFY" start="0x1" description="Memory Verify (1n)" />
+        <Enum name="CLEARVER" start="0x2" description="Memory Clear and Verify (2n)" />
+        <Enum name="ADDR_DEC" start="0x3" description="Address Decoder (2n)" />
+        <Enum name="MARCH_LR" start="0x4" description="March LR (14n)" />
+        <Enum name="MARCH_SR" start="0x5" description="March SR (14n)" />
+        <Enum name="MARCH_SS" start="0x6" description="March SS (22n)" />
+        <Enum name="CRC_UP" start="0x8" description="CRC increasing address (1n)" />
+        <Enum name="CRC_DOWN" start="0x9" description="CRC decreasing address (1n)" />
+      </BitField>
+      <BitField start="6" size="1" name="DEFRDMARGIN" description="Force Default Read Margin" />
+      <BitField start="7" size="1" name="DBG" description="Enable Debug Mode" />
+    </Register>
+    <Register start="+0x0048" size="4" name="DSU_MBWORD" access="Read/Write" description="MBIST Background Word" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="MBIST Background Word" />
+    </Register>
+    <Register start="+0x004C" size="4" name="DSU_MBGSTAT" access="Read/Write" description="MBIST Global Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ALLDONE" description="MBIST Completed" />
+      <BitField start="1" size="1" name="FAILED" description="MBIST Failed" />
+      <BitField start="2" size="1" name="ERRINFO" description="MBIST Error Info Present" />
+      <BitField start="3" size="1" name="CONFIGURED" description="MBIST Configuration Sent" />
+    </Register>
+    <Register start="+0x0050" size="4" name="DSU_MBDFAIL" access="ReadOnly" description="MBIST Fail Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Error Data Read" />
+    </Register>
+    <Register start="+0x0054" size="4" name="DSU_MBDEXP" access="ReadOnly" description="MBIST Expected Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Expected Data" />
+    </Register>
+    <Register start="+0x0058" size="4" name="DSU_MBAFAIL" access="ReadOnly" description="MBIST Fail Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="14" name="ADDR" description="Error Address" />
+    </Register>
+    <Register start="+0x005C" size="4" name="DSU_MBCONTEXT" access="ReadOnly" description="MBIST Fail Context" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="SUBSTEP" description="Algorithm Sub-step">
+        <Enum name="R0_1" start="0x1" />
+        <Enum name="R1_1" start="0x3" />
+        <Enum name="R0_2" start="0x5" />
+        <Enum name="R1_2" start="0x7" />
+        <Enum name="R0_3" start="0x9" />
+        <Enum name="R1_3" start="0xb" />
+      </BitField>
+      <BitField start="5" size="5" name="STEP" description="Algorithm Step">
+        <Enum name="DOWN_R0W1" start="0x2" />
+        <Enum name="UP_R1W0R0W1" start="0x3" />
+        <Enum name="UP_R1W0" start="0x4" />
+        <Enum name="UP_R0W1R1W0" start="0x5" />
+        <Enum name="UP_R0" start="0x6" />
+        <Enum name="UP_R0R0W0R0W1" start="0x7" />
+        <Enum name="UP_R1R1W1R1W0" start="0x8" />
+        <Enum name="DOWN_R0R0W0R0W1" start="0x9" />
+        <Enum name="DOWN_R1R1W1R1W0" start="0xa" />
+        <Enum name="UP_R0R0" start="0xc" />
+        <Enum name="DOWN_R1W0R0W1" start="0xe" />
+        <Enum name="DOWN_R1R1" start="0xf" />
+      </BitField>
+      <BitField start="10" size="1" name="PORT" description="DPRAM Port Index" />
+    </Register>
+    <Register start="+0x0060" size="4" name="DSU_MBENABLE0" access="Read/Write" description="MBIST Memory Enable 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ENABLE0" description="Memory 0 MBIST Enable" />
+      <BitField start="1" size="1" name="ENABLE1" description="Memory 1 MBIST Enable" />
+      <BitField start="2" size="1" name="ENABLE2" description="Memory 2 MBIST Enable" />
+      <BitField start="3" size="1" name="ENABLE3" description="Memory 3 MBIST Enable" />
+      <BitField start="4" size="1" name="ENABLE4" description="Memory 4 MBIST Enable" />
+      <BitField start="5" size="1" name="ENABLE5" description="Memory 5 MBIST Enable" />
+      <BitField start="6" size="1" name="ENABLE6" description="Memory 6 MBIST Enable" />
+      <BitField start="7" size="1" name="ENABLE7" description="Memory 7 MBIST Enable" />
+      <BitField start="8" size="1" name="ENABLE8" description="Memory 8 MBIST Enable" />
+      <BitField start="9" size="1" name="ENABLE9" description="Memory 9 MBIST Enable" />
+      <BitField start="10" size="1" name="ENABLE10" description="Memory 10 MBIST Enable" />
+      <BitField start="11" size="1" name="ENABLE11" description="Memory 11 MBIST Enable" />
+      <BitField start="12" size="1" name="ENABLE12" description="Memory 12 MBIST Enable" />
+      <BitField start="13" size="1" name="ENABLE13" description="Memory 13 MBIST Enable" />
+      <BitField start="14" size="1" name="ENABLE14" description="Memory 14 MBIST Enable" />
+      <BitField start="15" size="1" name="ENABLE15" description="Memory 15 MBIST Enable" />
+      <BitField start="16" size="1" name="ENABLE16" description="Memory 16 MBIST Enable" />
+      <BitField start="17" size="1" name="ENABLE17" description="Memory 17 MBIST Enable" />
+      <BitField start="18" size="1" name="ENABLE18" description="Memory 18 MBIST Enable" />
+      <BitField start="19" size="1" name="ENABLE19" description="Memory 19 MBIST Enable" />
+      <BitField start="20" size="1" name="ENABLE20" description="Memory 20 MBIST Enable" />
+      <BitField start="21" size="1" name="ENABLE21" description="Memory 21 MBIST Enable" />
+      <BitField start="22" size="1" name="ENABLE22" description="Memory 22 MBIST Enable" />
+      <BitField start="23" size="1" name="ENABLE23" description="Memory 23 MBIST Enable" />
+      <BitField start="24" size="1" name="ENABLE24" description="Memory 24 MBIST Enable" />
+      <BitField start="25" size="1" name="ENABLE25" description="Memory 25 MBIST Enable" />
+      <BitField start="26" size="1" name="ENABLE26" description="Memory 26 MBIST Enable" />
+      <BitField start="27" size="1" name="ENABLE27" description="Memory 27 MBIST Enable" />
+      <BitField start="28" size="1" name="ENABLE28" description="Memory 28 MBIST Enable" />
+    </Register>
+    <Register start="+0x0068" size="4" name="DSU_MBBUSY0" access="ReadOnly" description="MBIST Memory Busy 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSY0" description="Memory 0 BIST Busy" />
+      <BitField start="1" size="1" name="BUSY1" description="Memory 1 BIST Busy" />
+      <BitField start="2" size="1" name="BUSY2" description="Memory 2 BIST Busy" />
+      <BitField start="3" size="1" name="BUSY3" description="Memory 3 BIST Busy" />
+      <BitField start="4" size="1" name="BUSY4" description="Memory 4 BIST Busy" />
+      <BitField start="5" size="1" name="BUSY5" description="Memory 5 BIST Busy" />
+      <BitField start="6" size="1" name="BUSY6" description="Memory 6 BIST Busy" />
+      <BitField start="7" size="1" name="BUSY7" description="Memory 7 BIST Busy" />
+      <BitField start="8" size="1" name="BUSY8" description="Memory 8 BIST Busy" />
+      <BitField start="9" size="1" name="BUSY9" description="Memory 9 BIST Busy" />
+      <BitField start="10" size="1" name="BUSY10" description="Memory 10 BIST Busy" />
+      <BitField start="11" size="1" name="BUSY11" description="Memory 11 BIST Busy" />
+      <BitField start="12" size="1" name="BUSY12" description="Memory 12 BIST Busy" />
+      <BitField start="13" size="1" name="BUSY13" description="Memory 13 BIST Busy" />
+      <BitField start="14" size="1" name="BUSY14" description="Memory 14 BIST Busy" />
+      <BitField start="15" size="1" name="BUSY15" description="Memory 15 BIST Busy" />
+      <BitField start="16" size="1" name="BUSY16" description="Memory 16 BIST Busy" />
+      <BitField start="17" size="1" name="BUSY17" description="Memory 17 BIST Busy" />
+      <BitField start="18" size="1" name="BUSY18" description="Memory 18 BIST Busy" />
+      <BitField start="19" size="1" name="BUSY19" description="Memory 19 BIST Busy" />
+      <BitField start="20" size="1" name="BUSY20" description="Memory 20 BIST Busy" />
+      <BitField start="21" size="1" name="BUSY21" description="Memory 21 BIST Busy" />
+      <BitField start="22" size="1" name="BUSY22" description="Memory 22 BIST Busy" />
+      <BitField start="23" size="1" name="BUSY23" description="Memory 23 BIST Busy" />
+      <BitField start="24" size="1" name="BUSY24" description="Memory 24 BIST Busy" />
+      <BitField start="25" size="1" name="BUSY25" description="Memory 25 BIST Busy" />
+      <BitField start="26" size="1" name="BUSY26" description="Memory 26 BIST Busy" />
+      <BitField start="27" size="1" name="BUSY27" description="Memory 27 BIST Busy" />
+      <BitField start="28" size="1" name="BUSY28" description="Memory 28 BIST Busy" />
+    </Register>
+    <Register start="+0x0070" size="4" name="DSU_MBSTATUS0" access="Read/Write" description="MBIST Memory Status 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STATUS0" description="Memory 0 MBIST Status" />
+      <BitField start="1" size="1" name="STATUS1" description="Memory 1 MBIST Status" />
+      <BitField start="2" size="1" name="STATUS2" description="Memory 2 MBIST Status" />
+      <BitField start="3" size="1" name="STATUS3" description="Memory 3 MBIST Status" />
+      <BitField start="4" size="1" name="STATUS4" description="Memory 4 MBIST Status" />
+      <BitField start="5" size="1" name="STATUS5" description="Memory 5 MBIST Status" />
+      <BitField start="6" size="1" name="STATUS6" description="Memory 6 MBIST Status" />
+      <BitField start="7" size="1" name="STATUS7" description="Memory 7 MBIST Status" />
+      <BitField start="8" size="1" name="STATUS8" description="Memory 8 MBIST Status" />
+      <BitField start="9" size="1" name="STATUS9" description="Memory 9 MBIST Status" />
+      <BitField start="10" size="1" name="STATUS10" description="Memory 10 MBIST Status" />
+      <BitField start="11" size="1" name="STATUS11" description="Memory 11 MBIST Status" />
+      <BitField start="12" size="1" name="STATUS12" description="Memory 12 MBIST Status" />
+      <BitField start="13" size="1" name="STATUS13" description="Memory 13 MBIST Status" />
+      <BitField start="14" size="1" name="STATUS14" description="Memory 14 MBIST Status" />
+      <BitField start="15" size="1" name="STATUS15" description="Memory 15 MBIST Status" />
+      <BitField start="16" size="1" name="STATUS16" description="Memory 16 MBIST Status" />
+      <BitField start="17" size="1" name="STATUS17" description="Memory 17 MBIST Status" />
+      <BitField start="18" size="1" name="STATUS18" description="Memory 18 MBIST Status" />
+      <BitField start="19" size="1" name="STATUS19" description="Memory 19 MBIST Status" />
+      <BitField start="20" size="1" name="STATUS20" description="Memory 20 MBIST Status" />
+      <BitField start="21" size="1" name="STATUS21" description="Memory 21 MBIST Status" />
+      <BitField start="22" size="1" name="STATUS22" description="Memory 22 MBIST Status" />
+      <BitField start="23" size="1" name="STATUS23" description="Memory 23 MBIST Status" />
+      <BitField start="24" size="1" name="STATUS24" description="Memory 24 MBIST Status" />
+      <BitField start="25" size="1" name="STATUS25" description="Memory 25 MBIST Status" />
+      <BitField start="26" size="1" name="STATUS26" description="Memory 26 MBIST Status" />
+      <BitField start="27" size="1" name="STATUS27" description="Memory 27 MBIST Status" />
+      <BitField start="28" size="1" name="STATUS28" description="Memory 28 MBIST Status" />
+    </Register>
+    <Register start="+0x00F0+0" size="4" name="DSU_DCFG0" access="Read/Write" description="Device Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DCFG" description="Device Configuration" />
+    </Register>
+    <Register start="+0x00F0+4" size="4" name="DSU_DCFG1" access="Read/Write" description="Device Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DCFG" description="Device Configuration" />
+    </Register>
+    <Register start="+0x1000" size="4" name="DSU_ENTRY0" access="ReadOnly" description="CoreSight ROM Table Entry 0" reset_value="0x9F0FC002" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EPRES" description="Entry Present" />
+      <BitField start="1" size="1" name="FMT" description="Format" />
+      <BitField start="12" size="20" name="ADDOFF" description="Address Offset" />
+    </Register>
+    <Register start="+0x1004" size="4" name="DSU_ENTRY1" access="ReadOnly" description="CoreSight ROM Table Entry 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x1008" size="4" name="DSU_END" access="ReadOnly" description="CoreSight ROM Table End" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="END" description="End Marker" />
+    </Register>
+    <Register start="+0x1FCC" size="4" name="DSU_MEMTYPE" access="ReadOnly" description="CoreSight ROM Table Memory Type" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SMEMP" description="System Memory Present" />
+    </Register>
+    <Register start="+0x1FD0" size="4" name="DSU_PID4" access="ReadOnly" description="Peripheral Identification 4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="JEPCC" description="JEP-106 Continuation Code" />
+      <BitField start="4" size="4" name="FKBC" description="4KB count" />
+    </Register>
+    <Register start="+0x1FD4" size="4" name="DSU_PID5" access="ReadOnly" description="Peripheral Identification 5" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x1FD8" size="4" name="DSU_PID6" access="ReadOnly" description="Peripheral Identification 6" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x1FDC" size="4" name="DSU_PID7" access="ReadOnly" description="Peripheral Identification 7" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x1FE0" size="4" name="DSU_PID0" access="ReadOnly" description="Peripheral Identification 0" reset_value="0x000000D0" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PARTNBL" description="Part Number Low" />
+    </Register>
+    <Register start="+0x1FE4" size="4" name="DSU_PID1" access="ReadOnly" description="Peripheral Identification 1" reset_value="0x000000FC" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PARTNBH" description="Part Number High" />
+      <BitField start="4" size="4" name="JEPIDCL" description="Low part of the JEP-106 Identity Code" />
+    </Register>
+    <Register start="+0x1FE8" size="4" name="DSU_PID2" access="ReadOnly" description="Peripheral Identification 2" reset_value="0x00000009" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="JEPIDCH" description="JEP-106 Identity Code High" />
+      <BitField start="3" size="1" name="JEPU" description="JEP-106 Identity Code is used" />
+      <BitField start="4" size="4" name="REVISION" description="Revision Number" />
+    </Register>
+    <Register start="+0x1FEC" size="4" name="DSU_PID3" access="ReadOnly" description="Peripheral Identification 3" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CUSMOD" description="ARM CUSMOD" />
+      <BitField start="4" size="4" name="REVAND" description="Revision Number" />
+    </Register>
+    <Register start="+0x1FF0" size="4" name="DSU_CID0" access="ReadOnly" description="Component Identification 0" reset_value="0x0000000D" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PREAMBLEB0" description="Preamble Byte 0" />
+    </Register>
+    <Register start="+0x1FF4" size="4" name="DSU_CID1" access="ReadOnly" description="Component Identification 1" reset_value="0x00000010" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PREAMBLE" description="Preamble" />
+      <BitField start="4" size="4" name="CCLASS" description="Component Class" />
+    </Register>
+    <Register start="+0x1FF8" size="4" name="DSU_CID2" access="ReadOnly" description="Component Identification 2" reset_value="0x00000005" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PREAMBLEB2" description="Preamble Byte 2" />
+    </Register>
+    <Register start="+0x1FFC" size="4" name="DSU_CID3" access="ReadOnly" description="Component Identification 3" reset_value="0x000000B1" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PREAMBLEB3" description="Preamble Byte 3" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="EIC" start="0x40002800" description="External Interrupt Controller">
+    <Register start="+0x00" size="1" name="EIC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="4" size="1" name="CKSEL" description="Clock Selection" />
+    </Register>
+    <Register start="+0x01" size="1" name="EIC_NMICTRL" access="Read/Write" description="Non-Maskable Interrupt Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="NMISENSE" description="Non-Maskable Interrupt Sense Configuration">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising-edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling-edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both-edges detection" />
+        <Enum name="HIGH" start="0x4" description="High-level detection" />
+        <Enum name="LOW" start="0x5" description="Low-level detection" />
+      </BitField>
+      <BitField start="3" size="1" name="NMIFILTEN" description="Non-Maskable Interrupt Filter Enable" />
+      <BitField start="4" size="1" name="NMIASYNCH" description="Asynchronous Edge Detection Mode" />
+    </Register>
+    <Register start="+0x02" size="2" name="EIC_NMIFLAG" access="Read/Write" description="Non-Maskable Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="NMI" description="Non-Maskable Interrupt" />
+    </Register>
+    <Register start="+0x04" size="4" name="EIC_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy Status" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Synchronization Busy Status" />
+    </Register>
+    <Register start="+0x08" size="4" name="EIC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="EXTINTEO" description="External Interrupt Event Output Enable" />
+    </Register>
+    <Register start="+0x0C" size="4" name="EIC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="EXTINT" description="External Interrupt Enable" />
+    </Register>
+    <Register start="+0x10" size="4" name="EIC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="EXTINT" description="External Interrupt Enable" />
+    </Register>
+    <Register start="+0x14" size="4" name="EIC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="EXTINT" description="External Interrupt" />
+    </Register>
+    <Register start="+0x18" size="4" name="EIC_ASYNCH" access="Read/Write" description="External Interrupt Asynchronous Mode" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="ASYNCH" description="Asynchronous Edge Detection Mode" />
+    </Register>
+    <Register start="+0x1C+0" size="4" name="EIC_CONFIG0" access="Read/Write" description="External Interrupt Sense Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="SENSE0" description="Input Sense Configuration 0">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="3" size="1" name="FILTEN0" description="Filter Enable 0" />
+      <BitField start="4" size="3" name="SENSE1" description="Input Sense Configuration 1">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="7" size="1" name="FILTEN1" description="Filter Enable 1" />
+      <BitField start="8" size="3" name="SENSE2" description="Input Sense Configuration 2">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="11" size="1" name="FILTEN2" description="Filter Enable 2" />
+      <BitField start="12" size="3" name="SENSE3" description="Input Sense Configuration 3">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="15" size="1" name="FILTEN3" description="Filter Enable 3" />
+      <BitField start="16" size="3" name="SENSE4" description="Input Sense Configuration 4">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="19" size="1" name="FILTEN4" description="Filter Enable 4" />
+      <BitField start="20" size="3" name="SENSE5" description="Input Sense Configuration 5">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="23" size="1" name="FILTEN5" description="Filter Enable 5" />
+      <BitField start="24" size="3" name="SENSE6" description="Input Sense Configuration 6">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="27" size="1" name="FILTEN6" description="Filter Enable 6" />
+      <BitField start="28" size="3" name="SENSE7" description="Input Sense Configuration 7">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="31" size="1" name="FILTEN7" description="Filter Enable 7" />
+    </Register>
+    <Register start="+0x1C+4" size="4" name="EIC_CONFIG1" access="Read/Write" description="External Interrupt Sense Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="SENSE0" description="Input Sense Configuration 0">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="3" size="1" name="FILTEN0" description="Filter Enable 0" />
+      <BitField start="4" size="3" name="SENSE1" description="Input Sense Configuration 1">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="7" size="1" name="FILTEN1" description="Filter Enable 1" />
+      <BitField start="8" size="3" name="SENSE2" description="Input Sense Configuration 2">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="11" size="1" name="FILTEN2" description="Filter Enable 2" />
+      <BitField start="12" size="3" name="SENSE3" description="Input Sense Configuration 3">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="15" size="1" name="FILTEN3" description="Filter Enable 3" />
+      <BitField start="16" size="3" name="SENSE4" description="Input Sense Configuration 4">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="19" size="1" name="FILTEN4" description="Filter Enable 4" />
+      <BitField start="20" size="3" name="SENSE5" description="Input Sense Configuration 5">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="23" size="1" name="FILTEN5" description="Filter Enable 5" />
+      <BitField start="24" size="3" name="SENSE6" description="Input Sense Configuration 6">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="27" size="1" name="FILTEN6" description="Filter Enable 6" />
+      <BitField start="28" size="3" name="SENSE7" description="Input Sense Configuration 7">
+        <Enum name="NONE" start="0x0" description="No detection" />
+        <Enum name="RISE" start="0x1" description="Rising edge detection" />
+        <Enum name="FALL" start="0x2" description="Falling edge detection" />
+        <Enum name="BOTH" start="0x3" description="Both edges detection" />
+        <Enum name="HIGH" start="0x4" description="High level detection" />
+        <Enum name="LOW" start="0x5" description="Low level detection" />
+      </BitField>
+      <BitField start="31" size="1" name="FILTEN7" description="Filter Enable 7" />
+    </Register>
+    <Register start="+0x30" size="4" name="EIC_DEBOUNCEN" access="Read/Write" description="Debouncer Enable" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="DEBOUNCEN" description="Debouncer Enable" />
+    </Register>
+    <Register start="+0x34" size="4" name="EIC_DPRESCALER" access="Read/Write" description="Debouncer Prescaler" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="PRESCALER0" description="Debouncer Prescaler" />
+      <BitField start="4" size="3" name="PRESCALER1" description="Debouncer Prescaler" />
+      <BitField start="3" size="1" name="STATES0" description="Debouncer number of states" />
+      <BitField start="7" size="1" name="STATES1" description="Debouncer number of states" />
+      <BitField start="16" size="1" name="TICKON" description="Pin Sampler frequency selection" />
+    </Register>
+    <Register start="+0x38" size="4" name="EIC_PINSTATE" access="ReadOnly" description="Pin State" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="PINSTATE" description="Pin State" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="EVSYS" start="0x4100E000" description="Event System Interface">
+    <Register start="+0x000" size="1" name="EVSYS_CTRLA" access="Read/Write" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+    </Register>
+    <Register start="+0x004" size="4" name="EVSYS_SWEVT" access="WriteOnly" description="Software Event" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CHANNEL0" description="Channel 0 Software Selection" />
+      <BitField start="1" size="1" name="CHANNEL1" description="Channel 1 Software Selection" />
+      <BitField start="2" size="1" name="CHANNEL2" description="Channel 2 Software Selection" />
+      <BitField start="3" size="1" name="CHANNEL3" description="Channel 3 Software Selection" />
+      <BitField start="4" size="1" name="CHANNEL4" description="Channel 4 Software Selection" />
+      <BitField start="5" size="1" name="CHANNEL5" description="Channel 5 Software Selection" />
+      <BitField start="6" size="1" name="CHANNEL6" description="Channel 6 Software Selection" />
+      <BitField start="7" size="1" name="CHANNEL7" description="Channel 7 Software Selection" />
+      <BitField start="8" size="1" name="CHANNEL8" description="Channel 8 Software Selection" />
+      <BitField start="9" size="1" name="CHANNEL9" description="Channel 9 Software Selection" />
+      <BitField start="10" size="1" name="CHANNEL10" description="Channel 10 Software Selection" />
+      <BitField start="11" size="1" name="CHANNEL11" description="Channel 11 Software Selection" />
+      <BitField start="12" size="1" name="CHANNEL12" description="Channel 12 Software Selection" />
+      <BitField start="13" size="1" name="CHANNEL13" description="Channel 13 Software Selection" />
+      <BitField start="14" size="1" name="CHANNEL14" description="Channel 14 Software Selection" />
+      <BitField start="15" size="1" name="CHANNEL15" description="Channel 15 Software Selection" />
+      <BitField start="16" size="1" name="CHANNEL16" description="Channel 16 Software Selection" />
+      <BitField start="17" size="1" name="CHANNEL17" description="Channel 17 Software Selection" />
+      <BitField start="18" size="1" name="CHANNEL18" description="Channel 18 Software Selection" />
+      <BitField start="19" size="1" name="CHANNEL19" description="Channel 19 Software Selection" />
+      <BitField start="20" size="1" name="CHANNEL20" description="Channel 20 Software Selection" />
+      <BitField start="21" size="1" name="CHANNEL21" description="Channel 21 Software Selection" />
+      <BitField start="22" size="1" name="CHANNEL22" description="Channel 22 Software Selection" />
+      <BitField start="23" size="1" name="CHANNEL23" description="Channel 23 Software Selection" />
+      <BitField start="24" size="1" name="CHANNEL24" description="Channel 24 Software Selection" />
+      <BitField start="25" size="1" name="CHANNEL25" description="Channel 25 Software Selection" />
+      <BitField start="26" size="1" name="CHANNEL26" description="Channel 26 Software Selection" />
+      <BitField start="27" size="1" name="CHANNEL27" description="Channel 27 Software Selection" />
+      <BitField start="28" size="1" name="CHANNEL28" description="Channel 28 Software Selection" />
+      <BitField start="29" size="1" name="CHANNEL29" description="Channel 29 Software Selection" />
+      <BitField start="30" size="1" name="CHANNEL30" description="Channel 30 Software Selection" />
+      <BitField start="31" size="1" name="CHANNEL31" description="Channel 31 Software Selection" />
+    </Register>
+    <Register start="+0x008" size="1" name="EVSYS_PRICTRL" access="Read/Write" description="Priority Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PRI" description="Channel Priority Number" />
+      <BitField start="7" size="1" name="RREN" description="Round-Robin Scheduling Enable" />
+    </Register>
+    <Register start="+0x010" size="2" name="EVSYS_INTPEND" access="Read/Write" description="Channel Pending Interrupt" reset_value="0x4000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="ID" description="Channel ID" />
+      <BitField start="8" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="9" size="1" name="EVD" description="Channel Event Detected" />
+      <BitField start="14" size="1" name="READY" description="Ready" />
+      <BitField start="15" size="1" name="BUSY" description="Busy" />
+    </Register>
+    <Register start="+0x014" size="4" name="EVSYS_INTSTATUS" access="ReadOnly" description="Interrupt Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CHINT0" description="Channel 0 Pending Interrupt" />
+      <BitField start="1" size="1" name="CHINT1" description="Channel 1 Pending Interrupt" />
+      <BitField start="2" size="1" name="CHINT2" description="Channel 2 Pending Interrupt" />
+      <BitField start="3" size="1" name="CHINT3" description="Channel 3 Pending Interrupt" />
+      <BitField start="4" size="1" name="CHINT4" description="Channel 4 Pending Interrupt" />
+      <BitField start="5" size="1" name="CHINT5" description="Channel 5 Pending Interrupt" />
+      <BitField start="6" size="1" name="CHINT6" description="Channel 6 Pending Interrupt" />
+      <BitField start="7" size="1" name="CHINT7" description="Channel 7 Pending Interrupt" />
+      <BitField start="8" size="1" name="CHINT8" description="Channel 8 Pending Interrupt" />
+      <BitField start="9" size="1" name="CHINT9" description="Channel 9 Pending Interrupt" />
+      <BitField start="10" size="1" name="CHINT10" description="Channel 10 Pending Interrupt" />
+      <BitField start="11" size="1" name="CHINT11" description="Channel 11 Pending Interrupt" />
+    </Register>
+    <Register start="+0x018" size="4" name="EVSYS_BUSYCH" access="ReadOnly" description="Busy Channels" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSYCH0" description="Busy Channel 0" />
+      <BitField start="1" size="1" name="BUSYCH1" description="Busy Channel 1" />
+      <BitField start="2" size="1" name="BUSYCH2" description="Busy Channel 2" />
+      <BitField start="3" size="1" name="BUSYCH3" description="Busy Channel 3" />
+      <BitField start="4" size="1" name="BUSYCH4" description="Busy Channel 4" />
+      <BitField start="5" size="1" name="BUSYCH5" description="Busy Channel 5" />
+      <BitField start="6" size="1" name="BUSYCH6" description="Busy Channel 6" />
+      <BitField start="7" size="1" name="BUSYCH7" description="Busy Channel 7" />
+      <BitField start="8" size="1" name="BUSYCH8" description="Busy Channel 8" />
+      <BitField start="9" size="1" name="BUSYCH9" description="Busy Channel 9" />
+      <BitField start="10" size="1" name="BUSYCH10" description="Busy Channel 10" />
+      <BitField start="11" size="1" name="BUSYCH11" description="Busy Channel 11" />
+    </Register>
+    <Register start="+0x01C" size="4" name="EVSYS_READYUSR" access="ReadOnly" description="Ready Users" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="READYUSR0" description="Ready User for Channel 0" />
+      <BitField start="1" size="1" name="READYUSR1" description="Ready User for Channel 1" />
+      <BitField start="2" size="1" name="READYUSR2" description="Ready User for Channel 2" />
+      <BitField start="3" size="1" name="READYUSR3" description="Ready User for Channel 3" />
+      <BitField start="4" size="1" name="READYUSR4" description="Ready User for Channel 4" />
+      <BitField start="5" size="1" name="READYUSR5" description="Ready User for Channel 5" />
+      <BitField start="6" size="1" name="READYUSR6" description="Ready User for Channel 6" />
+      <BitField start="7" size="1" name="READYUSR7" description="Ready User for Channel 7" />
+      <BitField start="8" size="1" name="READYUSR8" description="Ready User for Channel 8" />
+      <BitField start="9" size="1" name="READYUSR9" description="Ready User for Channel 9" />
+      <BitField start="10" size="1" name="READYUSR10" description="Ready User for Channel 10" />
+      <BitField start="11" size="1" name="READYUSR11" description="Ready User for Channel 11" />
+    </Register>
+    <Register start="+0x020+0" size="4" name="EVSYS_CHANNEL0" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+8" size="4" name="EVSYS_CHANNEL1" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+16" size="4" name="EVSYS_CHANNEL2" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+24" size="4" name="EVSYS_CHANNEL3" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+32" size="4" name="EVSYS_CHANNEL4" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+40" size="4" name="EVSYS_CHANNEL5" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+48" size="4" name="EVSYS_CHANNEL6" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+56" size="4" name="EVSYS_CHANNEL7" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+64" size="4" name="EVSYS_CHANNEL8" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+72" size="4" name="EVSYS_CHANNEL9" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+80" size="4" name="EVSYS_CHANNEL10" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+88" size="4" name="EVSYS_CHANNEL11" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+96" size="4" name="EVSYS_CHANNEL12" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+104" size="4" name="EVSYS_CHANNEL13" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+112" size="4" name="EVSYS_CHANNEL14" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+120" size="4" name="EVSYS_CHANNEL15" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+128" size="4" name="EVSYS_CHANNEL16" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+136" size="4" name="EVSYS_CHANNEL17" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+144" size="4" name="EVSYS_CHANNEL18" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+152" size="4" name="EVSYS_CHANNEL19" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+160" size="4" name="EVSYS_CHANNEL20" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+168" size="4" name="EVSYS_CHANNEL21" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+176" size="4" name="EVSYS_CHANNEL22" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+184" size="4" name="EVSYS_CHANNEL23" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+192" size="4" name="EVSYS_CHANNEL24" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+200" size="4" name="EVSYS_CHANNEL25" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+208" size="4" name="EVSYS_CHANNEL26" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+216" size="4" name="EVSYS_CHANNEL27" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+224" size="4" name="EVSYS_CHANNEL28" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+232" size="4" name="EVSYS_CHANNEL29" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+240" size="4" name="EVSYS_CHANNEL30" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x020+248" size="4" name="EVSYS_CHANNEL31" access="Read/Write" description="Channel n Control" reset_value="0x00008000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="EVGEN" description="Event Generator Selection" />
+      <BitField start="8" size="2" name="PATH" description="Path Selection">
+        <Enum name="SYNCHRONOUS" start="0x0" description="Synchronous path" />
+        <Enum name="RESYNCHRONIZED" start="0x1" description="Resynchronized path" />
+        <Enum name="ASYNCHRONOUS" start="0x2" description="Asynchronous path" />
+      </BitField>
+      <BitField start="10" size="2" name="EDGSEL" description="Edge Detection Selection">
+        <Enum name="NO_EVT_OUTPUT" start="0x0" description="No event output when using the resynchronized or synchronous path" />
+        <Enum name="RISING_EDGE" start="0x1" description="Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="FALLING_EDGE" start="0x2" description="Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path" />
+        <Enum name="BOTH_EDGES" start="0x3" description="Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path" />
+      </BitField>
+      <BitField start="14" size="1" name="RUNSTDBY" description="Run in standby" />
+      <BitField start="15" size="1" name="ONDEMAND" description="Generic Clock On Demand" />
+    </Register>
+    <Register start="+0x024+0" size="1" name="EVSYS_CHINTENCLR0" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+8" size="1" name="EVSYS_CHINTENCLR1" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+16" size="1" name="EVSYS_CHINTENCLR2" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+24" size="1" name="EVSYS_CHINTENCLR3" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+32" size="1" name="EVSYS_CHINTENCLR4" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+40" size="1" name="EVSYS_CHINTENCLR5" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+48" size="1" name="EVSYS_CHINTENCLR6" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+56" size="1" name="EVSYS_CHINTENCLR7" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+64" size="1" name="EVSYS_CHINTENCLR8" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+72" size="1" name="EVSYS_CHINTENCLR9" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+80" size="1" name="EVSYS_CHINTENCLR10" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+88" size="1" name="EVSYS_CHINTENCLR11" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+96" size="1" name="EVSYS_CHINTENCLR12" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+104" size="1" name="EVSYS_CHINTENCLR13" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+112" size="1" name="EVSYS_CHINTENCLR14" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+120" size="1" name="EVSYS_CHINTENCLR15" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+128" size="1" name="EVSYS_CHINTENCLR16" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+136" size="1" name="EVSYS_CHINTENCLR17" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+144" size="1" name="EVSYS_CHINTENCLR18" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+152" size="1" name="EVSYS_CHINTENCLR19" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+160" size="1" name="EVSYS_CHINTENCLR20" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+168" size="1" name="EVSYS_CHINTENCLR21" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+176" size="1" name="EVSYS_CHINTENCLR22" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+184" size="1" name="EVSYS_CHINTENCLR23" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+192" size="1" name="EVSYS_CHINTENCLR24" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+200" size="1" name="EVSYS_CHINTENCLR25" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+208" size="1" name="EVSYS_CHINTENCLR26" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+216" size="1" name="EVSYS_CHINTENCLR27" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+224" size="1" name="EVSYS_CHINTENCLR28" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+232" size="1" name="EVSYS_CHINTENCLR29" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+240" size="1" name="EVSYS_CHINTENCLR30" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x024+248" size="1" name="EVSYS_CHINTENCLR31" access="Read/Write" description="Channel n Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Disable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Disable" />
+    </Register>
+    <Register start="+0x025+0" size="1" name="EVSYS_CHINTENSET0" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+8" size="1" name="EVSYS_CHINTENSET1" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+16" size="1" name="EVSYS_CHINTENSET2" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+24" size="1" name="EVSYS_CHINTENSET3" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+32" size="1" name="EVSYS_CHINTENSET4" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+40" size="1" name="EVSYS_CHINTENSET5" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+48" size="1" name="EVSYS_CHINTENSET6" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+56" size="1" name="EVSYS_CHINTENSET7" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+64" size="1" name="EVSYS_CHINTENSET8" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+72" size="1" name="EVSYS_CHINTENSET9" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+80" size="1" name="EVSYS_CHINTENSET10" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+88" size="1" name="EVSYS_CHINTENSET11" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+96" size="1" name="EVSYS_CHINTENSET12" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+104" size="1" name="EVSYS_CHINTENSET13" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+112" size="1" name="EVSYS_CHINTENSET14" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+120" size="1" name="EVSYS_CHINTENSET15" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+128" size="1" name="EVSYS_CHINTENSET16" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+136" size="1" name="EVSYS_CHINTENSET17" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+144" size="1" name="EVSYS_CHINTENSET18" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+152" size="1" name="EVSYS_CHINTENSET19" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+160" size="1" name="EVSYS_CHINTENSET20" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+168" size="1" name="EVSYS_CHINTENSET21" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+176" size="1" name="EVSYS_CHINTENSET22" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+184" size="1" name="EVSYS_CHINTENSET23" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+192" size="1" name="EVSYS_CHINTENSET24" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+200" size="1" name="EVSYS_CHINTENSET25" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+208" size="1" name="EVSYS_CHINTENSET26" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+216" size="1" name="EVSYS_CHINTENSET27" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+224" size="1" name="EVSYS_CHINTENSET28" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+232" size="1" name="EVSYS_CHINTENSET29" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+240" size="1" name="EVSYS_CHINTENSET30" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x025+248" size="1" name="EVSYS_CHINTENSET31" access="Read/Write" description="Channel n Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun Interrupt Enable" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected Interrupt Enable" />
+    </Register>
+    <Register start="+0x026+0" size="1" name="EVSYS_CHINTFLAG0" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+8" size="1" name="EVSYS_CHINTFLAG1" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+16" size="1" name="EVSYS_CHINTFLAG2" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+24" size="1" name="EVSYS_CHINTFLAG3" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+32" size="1" name="EVSYS_CHINTFLAG4" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+40" size="1" name="EVSYS_CHINTFLAG5" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+48" size="1" name="EVSYS_CHINTFLAG6" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+56" size="1" name="EVSYS_CHINTFLAG7" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+64" size="1" name="EVSYS_CHINTFLAG8" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+72" size="1" name="EVSYS_CHINTFLAG9" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+80" size="1" name="EVSYS_CHINTFLAG10" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+88" size="1" name="EVSYS_CHINTFLAG11" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+96" size="1" name="EVSYS_CHINTFLAG12" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+104" size="1" name="EVSYS_CHINTFLAG13" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+112" size="1" name="EVSYS_CHINTFLAG14" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+120" size="1" name="EVSYS_CHINTFLAG15" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+128" size="1" name="EVSYS_CHINTFLAG16" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+136" size="1" name="EVSYS_CHINTFLAG17" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+144" size="1" name="EVSYS_CHINTFLAG18" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+152" size="1" name="EVSYS_CHINTFLAG19" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+160" size="1" name="EVSYS_CHINTFLAG20" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+168" size="1" name="EVSYS_CHINTFLAG21" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+176" size="1" name="EVSYS_CHINTFLAG22" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+184" size="1" name="EVSYS_CHINTFLAG23" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+192" size="1" name="EVSYS_CHINTFLAG24" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+200" size="1" name="EVSYS_CHINTFLAG25" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+208" size="1" name="EVSYS_CHINTFLAG26" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+216" size="1" name="EVSYS_CHINTFLAG27" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+224" size="1" name="EVSYS_CHINTFLAG28" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+232" size="1" name="EVSYS_CHINTFLAG29" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+240" size="1" name="EVSYS_CHINTFLAG30" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x026+248" size="1" name="EVSYS_CHINTFLAG31" access="Read/Write" description="Channel n Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVR" description="Channel Overrun" />
+      <BitField start="1" size="1" name="EVD" description="Channel Event Detected" />
+    </Register>
+    <Register start="+0x027+0" size="1" name="EVSYS_CHSTATUS0" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+8" size="1" name="EVSYS_CHSTATUS1" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+16" size="1" name="EVSYS_CHSTATUS2" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+24" size="1" name="EVSYS_CHSTATUS3" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+32" size="1" name="EVSYS_CHSTATUS4" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+40" size="1" name="EVSYS_CHSTATUS5" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+48" size="1" name="EVSYS_CHSTATUS6" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+56" size="1" name="EVSYS_CHSTATUS7" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+64" size="1" name="EVSYS_CHSTATUS8" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+72" size="1" name="EVSYS_CHSTATUS9" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+80" size="1" name="EVSYS_CHSTATUS10" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+88" size="1" name="EVSYS_CHSTATUS11" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+96" size="1" name="EVSYS_CHSTATUS12" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+104" size="1" name="EVSYS_CHSTATUS13" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+112" size="1" name="EVSYS_CHSTATUS14" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+120" size="1" name="EVSYS_CHSTATUS15" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+128" size="1" name="EVSYS_CHSTATUS16" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+136" size="1" name="EVSYS_CHSTATUS17" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+144" size="1" name="EVSYS_CHSTATUS18" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+152" size="1" name="EVSYS_CHSTATUS19" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+160" size="1" name="EVSYS_CHSTATUS20" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+168" size="1" name="EVSYS_CHSTATUS21" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+176" size="1" name="EVSYS_CHSTATUS22" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+184" size="1" name="EVSYS_CHSTATUS23" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+192" size="1" name="EVSYS_CHSTATUS24" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+200" size="1" name="EVSYS_CHSTATUS25" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+208" size="1" name="EVSYS_CHSTATUS26" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+216" size="1" name="EVSYS_CHSTATUS27" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+224" size="1" name="EVSYS_CHSTATUS28" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+232" size="1" name="EVSYS_CHSTATUS29" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+240" size="1" name="EVSYS_CHSTATUS30" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x027+248" size="1" name="EVSYS_CHSTATUS31" access="ReadOnly" description="Channel n Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RDYUSR" description="Ready User" />
+      <BitField start="1" size="1" name="BUSYCH" description="Busy Channel" />
+    </Register>
+    <Register start="+0x120+0" size="4" name="EVSYS_USER0" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+4" size="4" name="EVSYS_USER1" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+8" size="4" name="EVSYS_USER2" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+12" size="4" name="EVSYS_USER3" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+16" size="4" name="EVSYS_USER4" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+20" size="4" name="EVSYS_USER5" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+24" size="4" name="EVSYS_USER6" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+28" size="4" name="EVSYS_USER7" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+32" size="4" name="EVSYS_USER8" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+36" size="4" name="EVSYS_USER9" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+40" size="4" name="EVSYS_USER10" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+44" size="4" name="EVSYS_USER11" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+48" size="4" name="EVSYS_USER12" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+52" size="4" name="EVSYS_USER13" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+56" size="4" name="EVSYS_USER14" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+60" size="4" name="EVSYS_USER15" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+64" size="4" name="EVSYS_USER16" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+68" size="4" name="EVSYS_USER17" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+72" size="4" name="EVSYS_USER18" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+76" size="4" name="EVSYS_USER19" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+80" size="4" name="EVSYS_USER20" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+84" size="4" name="EVSYS_USER21" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+88" size="4" name="EVSYS_USER22" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+92" size="4" name="EVSYS_USER23" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+96" size="4" name="EVSYS_USER24" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+100" size="4" name="EVSYS_USER25" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+104" size="4" name="EVSYS_USER26" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+108" size="4" name="EVSYS_USER27" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+112" size="4" name="EVSYS_USER28" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+116" size="4" name="EVSYS_USER29" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+120" size="4" name="EVSYS_USER30" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+124" size="4" name="EVSYS_USER31" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+128" size="4" name="EVSYS_USER32" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+132" size="4" name="EVSYS_USER33" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+136" size="4" name="EVSYS_USER34" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+140" size="4" name="EVSYS_USER35" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+144" size="4" name="EVSYS_USER36" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+148" size="4" name="EVSYS_USER37" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+152" size="4" name="EVSYS_USER38" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+156" size="4" name="EVSYS_USER39" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+160" size="4" name="EVSYS_USER40" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+164" size="4" name="EVSYS_USER41" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+168" size="4" name="EVSYS_USER42" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+172" size="4" name="EVSYS_USER43" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+176" size="4" name="EVSYS_USER44" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+180" size="4" name="EVSYS_USER45" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+184" size="4" name="EVSYS_USER46" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+188" size="4" name="EVSYS_USER47" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+192" size="4" name="EVSYS_USER48" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+196" size="4" name="EVSYS_USER49" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+200" size="4" name="EVSYS_USER50" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+204" size="4" name="EVSYS_USER51" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+208" size="4" name="EVSYS_USER52" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+212" size="4" name="EVSYS_USER53" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+216" size="4" name="EVSYS_USER54" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+220" size="4" name="EVSYS_USER55" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+224" size="4" name="EVSYS_USER56" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+228" size="4" name="EVSYS_USER57" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+232" size="4" name="EVSYS_USER58" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+236" size="4" name="EVSYS_USER59" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+240" size="4" name="EVSYS_USER60" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+244" size="4" name="EVSYS_USER61" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+248" size="4" name="EVSYS_USER62" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+252" size="4" name="EVSYS_USER63" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+256" size="4" name="EVSYS_USER64" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+260" size="4" name="EVSYS_USER65" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+    <Register start="+0x120+264" size="4" name="EVSYS_USER66" access="Read/Write" description="User Multiplexer n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="CHANNEL" description="Channel Event Selection" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="FREQM" start="0x40002C00" description="Frequency Meter">
+    <Register start="+0x00" size="1" name="FREQM_CTRLA" access="Read/Write" description="Control A Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+    </Register>
+    <Register start="+0x01" size="1" name="FREQM_CTRLB" access="WriteOnly" description="Control B Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="START" description="Start Measurement" />
+    </Register>
+    <Register start="+0x02" size="2" name="FREQM_CFGA" access="Read/Write" description="Config A register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="REFNUM" description="Number of Reference Clock Cycles" />
+    </Register>
+    <Register start="+0x08" size="1" name="FREQM_INTENCLR" access="Read/Write" description="Interrupt Enable Clear Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DONE" description="Measurement Done Interrupt Enable" />
+    </Register>
+    <Register start="+0x09" size="1" name="FREQM_INTENSET" access="Read/Write" description="Interrupt Enable Set Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DONE" description="Measurement Done Interrupt Enable" />
+    </Register>
+    <Register start="+0x0A" size="1" name="FREQM_INTFLAG" access="Read/Write" description="Interrupt Flag Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DONE" description="Measurement Done" />
+    </Register>
+    <Register start="+0x0B" size="1" name="FREQM_STATUS" access="Read/Write" description="Status Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSY" description="FREQM Status" />
+      <BitField start="1" size="1" name="OVF" description="Sticky Count Value Overflow" />
+    </Register>
+    <Register start="+0x0C" size="4" name="FREQM_SYNCBUSY" access="ReadOnly" description="Synchronization Busy Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+    </Register>
+    <Register start="+0x10" size="4" name="FREQM_VALUE" access="ReadOnly" description="Count Value Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="VALUE" description="Measurement Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="GCLK" start="0x40001C00" description="Generic Clock Generator">
+    <Register start="+0x00" size="1" name="GCLK_CTRLA" access="Read/Write" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+    </Register>
+    <Register start="+0x04" size="4" name="GCLK_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchroniation Busy bit" />
+      <BitField start="2" size="1" name="GENCTRL0" description="Generic Clock Generator Control 0 Synchronization Busy bits">
+        <Enum name="GCLK0" start="0x1" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x2" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x4" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x8" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x10" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x20" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x40" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x80" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x100" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x200" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0x400" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0x800" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="3" size="1" name="GENCTRL1" description="Generic Clock Generator Control 1 Synchronization Busy bits">
+        <Enum name="GCLK0" start="0x1" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x2" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x4" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x8" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x10" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x20" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x40" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x80" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x100" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x200" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0x400" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0x800" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="4" size="1" name="GENCTRL2" description="Generic Clock Generator Control 2 Synchronization Busy bits">
+        <Enum name="GCLK0" start="0x1" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x2" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x4" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x8" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x10" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x20" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x40" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x80" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x100" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x200" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0x400" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0x800" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="5" size="1" name="GENCTRL3" description="Generic Clock Generator Control 3 Synchronization Busy bits">
+        <Enum name="GCLK0" start="0x1" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x2" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x4" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x8" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x10" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x20" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x40" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x80" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x100" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x200" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0x400" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0x800" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="GENCTRL4" description="Generic Clock Generator Control 4 Synchronization Busy bits">
+        <Enum name="GCLK0" start="0x1" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x2" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x4" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x8" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x10" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x20" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x40" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x80" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x100" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x200" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0x400" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0x800" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="7" size="1" name="GENCTRL5" description="Generic Clock Generator Control 5 Synchronization Busy bits">
+        <Enum name="GCLK0" start="0x1" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x2" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x4" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x8" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x10" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x20" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x40" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x80" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x100" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x200" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0x400" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0x800" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="8" size="1" name="GENCTRL6" description="Generic Clock Generator Control 6 Synchronization Busy bits">
+        <Enum name="GCLK0" start="0x1" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x2" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x4" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x8" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x10" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x20" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x40" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x80" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x100" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x200" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0x400" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0x800" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="9" size="1" name="GENCTRL7" description="Generic Clock Generator Control 7 Synchronization Busy bits">
+        <Enum name="GCLK0" start="0x1" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x2" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x4" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x8" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x10" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x20" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x40" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x80" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x100" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x200" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0x400" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0x800" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="10" size="1" name="GENCTRL8" description="Generic Clock Generator Control 8 Synchronization Busy bits">
+        <Enum name="GCLK0" start="0x1" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x2" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x4" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x8" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x10" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x20" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x40" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x80" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x100" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x200" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0x400" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0x800" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="11" size="1" name="GENCTRL9" description="Generic Clock Generator Control 9 Synchronization Busy bits">
+        <Enum name="GCLK0" start="0x1" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x2" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x4" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x8" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x10" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x20" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x40" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x80" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x100" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x200" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0x400" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0x800" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="12" size="1" name="GENCTRL10" description="Generic Clock Generator Control 10 Synchronization Busy bits">
+        <Enum name="GCLK0" start="0x1" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x2" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x4" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x8" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x10" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x20" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x40" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x80" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x100" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x200" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0x400" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0x800" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="13" size="1" name="GENCTRL11" description="Generic Clock Generator Control 11 Synchronization Busy bits">
+        <Enum name="GCLK0" start="0x1" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x2" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x4" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x8" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x10" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x20" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x40" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x80" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x100" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x200" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0x400" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0x800" description="Generic clock generator 11" />
+      </BitField>
+    </Register>
+    <Register start="+0x20+0" size="4" name="GCLK_GENCTRL0" access="Read/Write" description="Generic Clock Generator Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SRC" description="Source Select">
+        <Enum name="XOSC0" start="0x0" description="XOSC0 oscillator output" />
+        <Enum name="XOSC1" start="0x1" description="XOSC1 oscillator output" />
+        <Enum name="GCLKIN" start="0x2" description="Generator input pad" />
+        <Enum name="GCLKGEN1" start="0x3" description="Generic clock generator 1 output" />
+        <Enum name="OSCULP32K" start="0x4" description="OSCULP32K oscillator output" />
+        <Enum name="XOSC32K" start="0x5" description="XOSC32K oscillator output" />
+        <Enum name="DFLL" start="0x6" description="DFLL output" />
+        <Enum name="DPLL0" start="0x7" description="DPLL0 output" />
+        <Enum name="DPLL1" start="0x8" description="DPLL1 output" />
+      </BitField>
+      <BitField start="8" size="1" name="GENEN" description="Generic Clock Generator Enable" />
+      <BitField start="9" size="1" name="IDC" description="Improve Duty Cycle" />
+      <BitField start="10" size="1" name="OOV" description="Output Off Value" />
+      <BitField start="11" size="1" name="OE" description="Output Enable" />
+      <BitField start="12" size="1" name="DIVSEL" description="Divide Selection" />
+      <BitField start="13" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="16" name="DIV" description="Division Factor" />
+    </Register>
+    <Register start="+0x20+4" size="4" name="GCLK_GENCTRL1" access="Read/Write" description="Generic Clock Generator Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SRC" description="Source Select">
+        <Enum name="XOSC0" start="0x0" description="XOSC0 oscillator output" />
+        <Enum name="XOSC1" start="0x1" description="XOSC1 oscillator output" />
+        <Enum name="GCLKIN" start="0x2" description="Generator input pad" />
+        <Enum name="GCLKGEN1" start="0x3" description="Generic clock generator 1 output" />
+        <Enum name="OSCULP32K" start="0x4" description="OSCULP32K oscillator output" />
+        <Enum name="XOSC32K" start="0x5" description="XOSC32K oscillator output" />
+        <Enum name="DFLL" start="0x6" description="DFLL output" />
+        <Enum name="DPLL0" start="0x7" description="DPLL0 output" />
+        <Enum name="DPLL1" start="0x8" description="DPLL1 output" />
+      </BitField>
+      <BitField start="8" size="1" name="GENEN" description="Generic Clock Generator Enable" />
+      <BitField start="9" size="1" name="IDC" description="Improve Duty Cycle" />
+      <BitField start="10" size="1" name="OOV" description="Output Off Value" />
+      <BitField start="11" size="1" name="OE" description="Output Enable" />
+      <BitField start="12" size="1" name="DIVSEL" description="Divide Selection" />
+      <BitField start="13" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="16" name="DIV" description="Division Factor" />
+    </Register>
+    <Register start="+0x20+8" size="4" name="GCLK_GENCTRL2" access="Read/Write" description="Generic Clock Generator Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SRC" description="Source Select">
+        <Enum name="XOSC0" start="0x0" description="XOSC0 oscillator output" />
+        <Enum name="XOSC1" start="0x1" description="XOSC1 oscillator output" />
+        <Enum name="GCLKIN" start="0x2" description="Generator input pad" />
+        <Enum name="GCLKGEN1" start="0x3" description="Generic clock generator 1 output" />
+        <Enum name="OSCULP32K" start="0x4" description="OSCULP32K oscillator output" />
+        <Enum name="XOSC32K" start="0x5" description="XOSC32K oscillator output" />
+        <Enum name="DFLL" start="0x6" description="DFLL output" />
+        <Enum name="DPLL0" start="0x7" description="DPLL0 output" />
+        <Enum name="DPLL1" start="0x8" description="DPLL1 output" />
+      </BitField>
+      <BitField start="8" size="1" name="GENEN" description="Generic Clock Generator Enable" />
+      <BitField start="9" size="1" name="IDC" description="Improve Duty Cycle" />
+      <BitField start="10" size="1" name="OOV" description="Output Off Value" />
+      <BitField start="11" size="1" name="OE" description="Output Enable" />
+      <BitField start="12" size="1" name="DIVSEL" description="Divide Selection" />
+      <BitField start="13" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="16" name="DIV" description="Division Factor" />
+    </Register>
+    <Register start="+0x20+12" size="4" name="GCLK_GENCTRL3" access="Read/Write" description="Generic Clock Generator Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SRC" description="Source Select">
+        <Enum name="XOSC0" start="0x0" description="XOSC0 oscillator output" />
+        <Enum name="XOSC1" start="0x1" description="XOSC1 oscillator output" />
+        <Enum name="GCLKIN" start="0x2" description="Generator input pad" />
+        <Enum name="GCLKGEN1" start="0x3" description="Generic clock generator 1 output" />
+        <Enum name="OSCULP32K" start="0x4" description="OSCULP32K oscillator output" />
+        <Enum name="XOSC32K" start="0x5" description="XOSC32K oscillator output" />
+        <Enum name="DFLL" start="0x6" description="DFLL output" />
+        <Enum name="DPLL0" start="0x7" description="DPLL0 output" />
+        <Enum name="DPLL1" start="0x8" description="DPLL1 output" />
+      </BitField>
+      <BitField start="8" size="1" name="GENEN" description="Generic Clock Generator Enable" />
+      <BitField start="9" size="1" name="IDC" description="Improve Duty Cycle" />
+      <BitField start="10" size="1" name="OOV" description="Output Off Value" />
+      <BitField start="11" size="1" name="OE" description="Output Enable" />
+      <BitField start="12" size="1" name="DIVSEL" description="Divide Selection" />
+      <BitField start="13" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="16" name="DIV" description="Division Factor" />
+    </Register>
+    <Register start="+0x20+16" size="4" name="GCLK_GENCTRL4" access="Read/Write" description="Generic Clock Generator Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SRC" description="Source Select">
+        <Enum name="XOSC0" start="0x0" description="XOSC0 oscillator output" />
+        <Enum name="XOSC1" start="0x1" description="XOSC1 oscillator output" />
+        <Enum name="GCLKIN" start="0x2" description="Generator input pad" />
+        <Enum name="GCLKGEN1" start="0x3" description="Generic clock generator 1 output" />
+        <Enum name="OSCULP32K" start="0x4" description="OSCULP32K oscillator output" />
+        <Enum name="XOSC32K" start="0x5" description="XOSC32K oscillator output" />
+        <Enum name="DFLL" start="0x6" description="DFLL output" />
+        <Enum name="DPLL0" start="0x7" description="DPLL0 output" />
+        <Enum name="DPLL1" start="0x8" description="DPLL1 output" />
+      </BitField>
+      <BitField start="8" size="1" name="GENEN" description="Generic Clock Generator Enable" />
+      <BitField start="9" size="1" name="IDC" description="Improve Duty Cycle" />
+      <BitField start="10" size="1" name="OOV" description="Output Off Value" />
+      <BitField start="11" size="1" name="OE" description="Output Enable" />
+      <BitField start="12" size="1" name="DIVSEL" description="Divide Selection" />
+      <BitField start="13" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="16" name="DIV" description="Division Factor" />
+    </Register>
+    <Register start="+0x20+20" size="4" name="GCLK_GENCTRL5" access="Read/Write" description="Generic Clock Generator Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SRC" description="Source Select">
+        <Enum name="XOSC0" start="0x0" description="XOSC0 oscillator output" />
+        <Enum name="XOSC1" start="0x1" description="XOSC1 oscillator output" />
+        <Enum name="GCLKIN" start="0x2" description="Generator input pad" />
+        <Enum name="GCLKGEN1" start="0x3" description="Generic clock generator 1 output" />
+        <Enum name="OSCULP32K" start="0x4" description="OSCULP32K oscillator output" />
+        <Enum name="XOSC32K" start="0x5" description="XOSC32K oscillator output" />
+        <Enum name="DFLL" start="0x6" description="DFLL output" />
+        <Enum name="DPLL0" start="0x7" description="DPLL0 output" />
+        <Enum name="DPLL1" start="0x8" description="DPLL1 output" />
+      </BitField>
+      <BitField start="8" size="1" name="GENEN" description="Generic Clock Generator Enable" />
+      <BitField start="9" size="1" name="IDC" description="Improve Duty Cycle" />
+      <BitField start="10" size="1" name="OOV" description="Output Off Value" />
+      <BitField start="11" size="1" name="OE" description="Output Enable" />
+      <BitField start="12" size="1" name="DIVSEL" description="Divide Selection" />
+      <BitField start="13" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="16" name="DIV" description="Division Factor" />
+    </Register>
+    <Register start="+0x20+24" size="4" name="GCLK_GENCTRL6" access="Read/Write" description="Generic Clock Generator Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SRC" description="Source Select">
+        <Enum name="XOSC0" start="0x0" description="XOSC0 oscillator output" />
+        <Enum name="XOSC1" start="0x1" description="XOSC1 oscillator output" />
+        <Enum name="GCLKIN" start="0x2" description="Generator input pad" />
+        <Enum name="GCLKGEN1" start="0x3" description="Generic clock generator 1 output" />
+        <Enum name="OSCULP32K" start="0x4" description="OSCULP32K oscillator output" />
+        <Enum name="XOSC32K" start="0x5" description="XOSC32K oscillator output" />
+        <Enum name="DFLL" start="0x6" description="DFLL output" />
+        <Enum name="DPLL0" start="0x7" description="DPLL0 output" />
+        <Enum name="DPLL1" start="0x8" description="DPLL1 output" />
+      </BitField>
+      <BitField start="8" size="1" name="GENEN" description="Generic Clock Generator Enable" />
+      <BitField start="9" size="1" name="IDC" description="Improve Duty Cycle" />
+      <BitField start="10" size="1" name="OOV" description="Output Off Value" />
+      <BitField start="11" size="1" name="OE" description="Output Enable" />
+      <BitField start="12" size="1" name="DIVSEL" description="Divide Selection" />
+      <BitField start="13" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="16" name="DIV" description="Division Factor" />
+    </Register>
+    <Register start="+0x20+28" size="4" name="GCLK_GENCTRL7" access="Read/Write" description="Generic Clock Generator Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SRC" description="Source Select">
+        <Enum name="XOSC0" start="0x0" description="XOSC0 oscillator output" />
+        <Enum name="XOSC1" start="0x1" description="XOSC1 oscillator output" />
+        <Enum name="GCLKIN" start="0x2" description="Generator input pad" />
+        <Enum name="GCLKGEN1" start="0x3" description="Generic clock generator 1 output" />
+        <Enum name="OSCULP32K" start="0x4" description="OSCULP32K oscillator output" />
+        <Enum name="XOSC32K" start="0x5" description="XOSC32K oscillator output" />
+        <Enum name="DFLL" start="0x6" description="DFLL output" />
+        <Enum name="DPLL0" start="0x7" description="DPLL0 output" />
+        <Enum name="DPLL1" start="0x8" description="DPLL1 output" />
+      </BitField>
+      <BitField start="8" size="1" name="GENEN" description="Generic Clock Generator Enable" />
+      <BitField start="9" size="1" name="IDC" description="Improve Duty Cycle" />
+      <BitField start="10" size="1" name="OOV" description="Output Off Value" />
+      <BitField start="11" size="1" name="OE" description="Output Enable" />
+      <BitField start="12" size="1" name="DIVSEL" description="Divide Selection" />
+      <BitField start="13" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="16" name="DIV" description="Division Factor" />
+    </Register>
+    <Register start="+0x20+32" size="4" name="GCLK_GENCTRL8" access="Read/Write" description="Generic Clock Generator Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SRC" description="Source Select">
+        <Enum name="XOSC0" start="0x0" description="XOSC0 oscillator output" />
+        <Enum name="XOSC1" start="0x1" description="XOSC1 oscillator output" />
+        <Enum name="GCLKIN" start="0x2" description="Generator input pad" />
+        <Enum name="GCLKGEN1" start="0x3" description="Generic clock generator 1 output" />
+        <Enum name="OSCULP32K" start="0x4" description="OSCULP32K oscillator output" />
+        <Enum name="XOSC32K" start="0x5" description="XOSC32K oscillator output" />
+        <Enum name="DFLL" start="0x6" description="DFLL output" />
+        <Enum name="DPLL0" start="0x7" description="DPLL0 output" />
+        <Enum name="DPLL1" start="0x8" description="DPLL1 output" />
+      </BitField>
+      <BitField start="8" size="1" name="GENEN" description="Generic Clock Generator Enable" />
+      <BitField start="9" size="1" name="IDC" description="Improve Duty Cycle" />
+      <BitField start="10" size="1" name="OOV" description="Output Off Value" />
+      <BitField start="11" size="1" name="OE" description="Output Enable" />
+      <BitField start="12" size="1" name="DIVSEL" description="Divide Selection" />
+      <BitField start="13" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="16" name="DIV" description="Division Factor" />
+    </Register>
+    <Register start="+0x20+36" size="4" name="GCLK_GENCTRL9" access="Read/Write" description="Generic Clock Generator Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SRC" description="Source Select">
+        <Enum name="XOSC0" start="0x0" description="XOSC0 oscillator output" />
+        <Enum name="XOSC1" start="0x1" description="XOSC1 oscillator output" />
+        <Enum name="GCLKIN" start="0x2" description="Generator input pad" />
+        <Enum name="GCLKGEN1" start="0x3" description="Generic clock generator 1 output" />
+        <Enum name="OSCULP32K" start="0x4" description="OSCULP32K oscillator output" />
+        <Enum name="XOSC32K" start="0x5" description="XOSC32K oscillator output" />
+        <Enum name="DFLL" start="0x6" description="DFLL output" />
+        <Enum name="DPLL0" start="0x7" description="DPLL0 output" />
+        <Enum name="DPLL1" start="0x8" description="DPLL1 output" />
+      </BitField>
+      <BitField start="8" size="1" name="GENEN" description="Generic Clock Generator Enable" />
+      <BitField start="9" size="1" name="IDC" description="Improve Duty Cycle" />
+      <BitField start="10" size="1" name="OOV" description="Output Off Value" />
+      <BitField start="11" size="1" name="OE" description="Output Enable" />
+      <BitField start="12" size="1" name="DIVSEL" description="Divide Selection" />
+      <BitField start="13" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="16" name="DIV" description="Division Factor" />
+    </Register>
+    <Register start="+0x20+40" size="4" name="GCLK_GENCTRL10" access="Read/Write" description="Generic Clock Generator Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SRC" description="Source Select">
+        <Enum name="XOSC0" start="0x0" description="XOSC0 oscillator output" />
+        <Enum name="XOSC1" start="0x1" description="XOSC1 oscillator output" />
+        <Enum name="GCLKIN" start="0x2" description="Generator input pad" />
+        <Enum name="GCLKGEN1" start="0x3" description="Generic clock generator 1 output" />
+        <Enum name="OSCULP32K" start="0x4" description="OSCULP32K oscillator output" />
+        <Enum name="XOSC32K" start="0x5" description="XOSC32K oscillator output" />
+        <Enum name="DFLL" start="0x6" description="DFLL output" />
+        <Enum name="DPLL0" start="0x7" description="DPLL0 output" />
+        <Enum name="DPLL1" start="0x8" description="DPLL1 output" />
+      </BitField>
+      <BitField start="8" size="1" name="GENEN" description="Generic Clock Generator Enable" />
+      <BitField start="9" size="1" name="IDC" description="Improve Duty Cycle" />
+      <BitField start="10" size="1" name="OOV" description="Output Off Value" />
+      <BitField start="11" size="1" name="OE" description="Output Enable" />
+      <BitField start="12" size="1" name="DIVSEL" description="Divide Selection" />
+      <BitField start="13" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="16" name="DIV" description="Division Factor" />
+    </Register>
+    <Register start="+0x20+44" size="4" name="GCLK_GENCTRL11" access="Read/Write" description="Generic Clock Generator Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SRC" description="Source Select">
+        <Enum name="XOSC0" start="0x0" description="XOSC0 oscillator output" />
+        <Enum name="XOSC1" start="0x1" description="XOSC1 oscillator output" />
+        <Enum name="GCLKIN" start="0x2" description="Generator input pad" />
+        <Enum name="GCLKGEN1" start="0x3" description="Generic clock generator 1 output" />
+        <Enum name="OSCULP32K" start="0x4" description="OSCULP32K oscillator output" />
+        <Enum name="XOSC32K" start="0x5" description="XOSC32K oscillator output" />
+        <Enum name="DFLL" start="0x6" description="DFLL output" />
+        <Enum name="DPLL0" start="0x7" description="DPLL0 output" />
+        <Enum name="DPLL1" start="0x8" description="DPLL1 output" />
+      </BitField>
+      <BitField start="8" size="1" name="GENEN" description="Generic Clock Generator Enable" />
+      <BitField start="9" size="1" name="IDC" description="Improve Duty Cycle" />
+      <BitField start="10" size="1" name="OOV" description="Output Off Value" />
+      <BitField start="11" size="1" name="OE" description="Output Enable" />
+      <BitField start="12" size="1" name="DIVSEL" description="Divide Selection" />
+      <BitField start="13" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="16" name="DIV" description="Division Factor" />
+    </Register>
+    <Register start="+0x80+0" size="4" name="GCLK_PCHCTRL0" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+4" size="4" name="GCLK_PCHCTRL1" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+8" size="4" name="GCLK_PCHCTRL2" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+12" size="4" name="GCLK_PCHCTRL3" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+16" size="4" name="GCLK_PCHCTRL4" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+20" size="4" name="GCLK_PCHCTRL5" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+24" size="4" name="GCLK_PCHCTRL6" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+28" size="4" name="GCLK_PCHCTRL7" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+32" size="4" name="GCLK_PCHCTRL8" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+36" size="4" name="GCLK_PCHCTRL9" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+40" size="4" name="GCLK_PCHCTRL10" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+44" size="4" name="GCLK_PCHCTRL11" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+48" size="4" name="GCLK_PCHCTRL12" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+52" size="4" name="GCLK_PCHCTRL13" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+56" size="4" name="GCLK_PCHCTRL14" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+60" size="4" name="GCLK_PCHCTRL15" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+64" size="4" name="GCLK_PCHCTRL16" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+68" size="4" name="GCLK_PCHCTRL17" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+72" size="4" name="GCLK_PCHCTRL18" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+76" size="4" name="GCLK_PCHCTRL19" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+80" size="4" name="GCLK_PCHCTRL20" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+84" size="4" name="GCLK_PCHCTRL21" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+88" size="4" name="GCLK_PCHCTRL22" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+92" size="4" name="GCLK_PCHCTRL23" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+96" size="4" name="GCLK_PCHCTRL24" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+100" size="4" name="GCLK_PCHCTRL25" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+104" size="4" name="GCLK_PCHCTRL26" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+108" size="4" name="GCLK_PCHCTRL27" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+112" size="4" name="GCLK_PCHCTRL28" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+116" size="4" name="GCLK_PCHCTRL29" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+120" size="4" name="GCLK_PCHCTRL30" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+124" size="4" name="GCLK_PCHCTRL31" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+128" size="4" name="GCLK_PCHCTRL32" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+132" size="4" name="GCLK_PCHCTRL33" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+136" size="4" name="GCLK_PCHCTRL34" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+140" size="4" name="GCLK_PCHCTRL35" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+144" size="4" name="GCLK_PCHCTRL36" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+148" size="4" name="GCLK_PCHCTRL37" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+152" size="4" name="GCLK_PCHCTRL38" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+156" size="4" name="GCLK_PCHCTRL39" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+160" size="4" name="GCLK_PCHCTRL40" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+164" size="4" name="GCLK_PCHCTRL41" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+168" size="4" name="GCLK_PCHCTRL42" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+172" size="4" name="GCLK_PCHCTRL43" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+176" size="4" name="GCLK_PCHCTRL44" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+180" size="4" name="GCLK_PCHCTRL45" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+184" size="4" name="GCLK_PCHCTRL46" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+    <Register start="+0x80+188" size="4" name="GCLK_PCHCTRL47" access="Read/Write" description="Peripheral Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="GEN" description="Generic Clock Generator">
+        <Enum name="GCLK0" start="0x0" description="Generic clock generator 0" />
+        <Enum name="GCLK1" start="0x1" description="Generic clock generator 1" />
+        <Enum name="GCLK2" start="0x2" description="Generic clock generator 2" />
+        <Enum name="GCLK3" start="0x3" description="Generic clock generator 3" />
+        <Enum name="GCLK4" start="0x4" description="Generic clock generator 4" />
+        <Enum name="GCLK5" start="0x5" description="Generic clock generator 5" />
+        <Enum name="GCLK6" start="0x6" description="Generic clock generator 6" />
+        <Enum name="GCLK7" start="0x7" description="Generic clock generator 7" />
+        <Enum name="GCLK8" start="0x8" description="Generic clock generator 8" />
+        <Enum name="GCLK9" start="0x9" description="Generic clock generator 9" />
+        <Enum name="GCLK10" start="0xa" description="Generic clock generator 10" />
+        <Enum name="GCLK11" start="0xb" description="Generic clock generator 11" />
+      </BitField>
+      <BitField start="6" size="1" name="CHEN" description="Channel Enable" />
+      <BitField start="7" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="HMATRIX" start="0x4100C000" description="HSB Matrix">
+    <Register start="+0x080+0" size="4" name="HMATRIXB_PRAS0" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+8" size="4" name="HMATRIXB_PRAS1" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+16" size="4" name="HMATRIXB_PRAS2" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+24" size="4" name="HMATRIXB_PRAS3" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+32" size="4" name="HMATRIXB_PRAS4" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+40" size="4" name="HMATRIXB_PRAS5" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+48" size="4" name="HMATRIXB_PRAS6" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+56" size="4" name="HMATRIXB_PRAS7" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+64" size="4" name="HMATRIXB_PRAS8" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+72" size="4" name="HMATRIXB_PRAS9" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+80" size="4" name="HMATRIXB_PRAS10" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+88" size="4" name="HMATRIXB_PRAS11" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+96" size="4" name="HMATRIXB_PRAS12" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+104" size="4" name="HMATRIXB_PRAS13" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+112" size="4" name="HMATRIXB_PRAS14" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x080+120" size="4" name="HMATRIXB_PRAS15" access="Read/Write" description="Priority A for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+0" size="4" name="HMATRIXB_PRBS0" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+8" size="4" name="HMATRIXB_PRBS1" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+16" size="4" name="HMATRIXB_PRBS2" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+24" size="4" name="HMATRIXB_PRBS3" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+32" size="4" name="HMATRIXB_PRBS4" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+40" size="4" name="HMATRIXB_PRBS5" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+48" size="4" name="HMATRIXB_PRBS6" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+56" size="4" name="HMATRIXB_PRBS7" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+64" size="4" name="HMATRIXB_PRBS8" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+72" size="4" name="HMATRIXB_PRBS9" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+80" size="4" name="HMATRIXB_PRBS10" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+88" size="4" name="HMATRIXB_PRBS11" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+96" size="4" name="HMATRIXB_PRBS12" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+104" size="4" name="HMATRIXB_PRBS13" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+112" size="4" name="HMATRIXB_PRBS14" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x084+120" size="4" name="HMATRIXB_PRBS15" access="Read/Write" description="Priority B for Slave" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+  </RegisterGroup>
+  <RegisterGroup name="ICM" start="0x42002C00" description="Integrity Check Monitor">
+    <Register start="+0x00" size="4" name="ICM_CFG" access="Read/Write" description="Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="WBDIS" description="Write Back Disable" />
+      <BitField start="1" size="1" name="EOMDIS" description="End of Monitoring Disable" />
+      <BitField start="2" size="1" name="SLBDIS" description="Secondary List Branching Disable" />
+      <BitField start="4" size="4" name="BBC" description="Bus Burden Control" />
+      <BitField start="8" size="1" name="ASCD" description="Automatic Switch To Compare Digest" />
+      <BitField start="9" size="1" name="DUALBUFF" description="Dual Input Buffer" />
+      <BitField start="12" size="1" name="UIHASH" description="User Initial Hash Value" />
+      <BitField start="13" size="3" name="UALGO" description="User SHA Algorithm">
+        <Enum name="SHA1" start="0x0" description="SHA1 Algorithm" />
+        <Enum name="SHA256" start="0x1" description="SHA256 Algorithm" />
+        <Enum name="SHA224" start="0x4" description="SHA224 Algorithm" />
+      </BitField>
+      <BitField start="16" size="6" name="HAPROT" description="Region Hash Area Protection" />
+      <BitField start="24" size="6" name="DAPROT" description="Region Descriptor Area Protection" />
+    </Register>
+    <Register start="+0x04" size="4" name="ICM_CTRL" access="WriteOnly" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ENABLE" description="ICM Enable" />
+      <BitField start="1" size="1" name="DISABLE" description="ICM Disable Register" />
+      <BitField start="2" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="4" size="4" name="REHASH" description="Recompute Internal Hash" />
+      <BitField start="8" size="4" name="RMDIS" description="Region Monitoring Disable" />
+      <BitField start="12" size="4" name="RMEN" description="Region Monitoring Enable" />
+    </Register>
+    <Register start="+0x08" size="4" name="ICM_SR" access="ReadOnly" description="Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ENABLE" description="ICM Controller Enable Register" />
+      <BitField start="8" size="4" name="RAWRMDIS" description="RAW Region Monitoring Disabled Status" />
+      <BitField start="12" size="4" name="RMDIS" description="Region Monitoring Disabled Status" />
+    </Register>
+    <Register start="+0x10" size="4" name="ICM_IER" access="WriteOnly" description="Interrupt Enable" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="RHC" description="Region Hash Completed Interrupt Enable" />
+      <BitField start="4" size="4" name="RDM" description="Region Digest Mismatch Interrupt Enable" />
+      <BitField start="8" size="4" name="RBE" description="Region Bus Error Interrupt Enable" />
+      <BitField start="12" size="4" name="RWC" description="Region Wrap Condition detected Interrupt Enable" />
+      <BitField start="16" size="4" name="REC" description="Region End bit Condition Detected Interrupt Enable" />
+      <BitField start="20" size="4" name="RSU" description="Region Status Updated Interrupt Disable" />
+      <BitField start="24" size="1" name="URAD" description="Undefined Register Access Detection Interrupt Enable" />
+    </Register>
+    <Register start="+0x14" size="4" name="ICM_IDR" access="WriteOnly" description="Interrupt Disable" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="RHC" description="Region Hash Completed Interrupt Disable" />
+      <BitField start="4" size="4" name="RDM" description="Region Digest Mismatch Interrupt Disable" />
+      <BitField start="8" size="4" name="RBE" description="Region Bus Error Interrupt Disable" />
+      <BitField start="12" size="4" name="RWC" description="Region Wrap Condition Detected Interrupt Disable" />
+      <BitField start="16" size="4" name="REC" description="Region End bit Condition detected Interrupt Disable" />
+      <BitField start="20" size="4" name="RSU" description="Region Status Updated Interrupt Disable" />
+      <BitField start="24" size="1" name="URAD" description="Undefined Register Access Detection Interrupt Disable" />
+    </Register>
+    <Register start="+0x18" size="4" name="ICM_IMR" access="ReadOnly" description="Interrupt Mask" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="RHC" description="Region Hash Completed Interrupt Mask" />
+      <BitField start="4" size="4" name="RDM" description="Region Digest Mismatch Interrupt Mask" />
+      <BitField start="8" size="4" name="RBE" description="Region Bus Error Interrupt Mask" />
+      <BitField start="12" size="4" name="RWC" description="Region Wrap Condition Detected Interrupt Mask" />
+      <BitField start="16" size="4" name="REC" description="Region End bit Condition Detected Interrupt Mask" />
+      <BitField start="20" size="4" name="RSU" description="Region Status Updated Interrupt Mask" />
+      <BitField start="24" size="1" name="URAD" description="Undefined Register Access Detection Interrupt Mask" />
+    </Register>
+    <Register start="+0x1C" size="4" name="ICM_ISR" access="ReadOnly" description="Interrupt Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="RHC" description="Region Hash Completed" />
+      <BitField start="4" size="4" name="RDM" description="Region Digest Mismatch" />
+      <BitField start="8" size="4" name="RBE" description="Region Bus Error" />
+      <BitField start="12" size="4" name="RWC" description="Region Wrap Condition Detected" />
+      <BitField start="16" size="4" name="REC" description="Region End bit Condition Detected" />
+      <BitField start="20" size="4" name="RSU" description="Region Status Updated Detected" />
+      <BitField start="24" size="1" name="URAD" description="Undefined Register Access Detection Status" />
+    </Register>
+    <Register start="+0x20" size="4" name="ICM_UASR" access="ReadOnly" description="Undefined Access Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="URAT" description="Undefined Register Access Trace">
+        <Enum name="UNSPEC_STRUCT_MEMBER" start="0x0" description="Unspecified structure member set to one detected when the descriptor is loaded" />
+        <Enum name="CFG_MODIFIED" start="0x1" description="CFG modified during active monitoring" />
+        <Enum name="DSCR_MODIFIED" start="0x2" description="DSCR modified during active monitoring" />
+        <Enum name="HASH_MODIFIED" start="0x3" description="HASH modified during active monitoring" />
+        <Enum name="READ_ACCESS" start="0x4" description="Write-only register read access" />
+      </BitField>
+    </Register>
+    <Register start="+0x30" size="4" name="ICM_DSCR" access="Read/Write" description="Region Descriptor Area Start Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="6" size="26" name="DASA" description="Descriptor Area Start Address" />
+    </Register>
+    <Register start="+0x34" size="4" name="ICM_HASH" access="Read/Write" description="Region Hash Area Start Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="7" size="25" name="HASA" description="Hash Area Start Address" />
+    </Register>
+    <Register start="+0x38+0" size="4" name="ICM_UIHVAL0" access="WriteOnly" description="User Initial Hash Value n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="VAL" description="Initial Hash Value" />
+    </Register>
+    <Register start="+0x38+4" size="4" name="ICM_UIHVAL1" access="WriteOnly" description="User Initial Hash Value n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="VAL" description="Initial Hash Value" />
+    </Register>
+    <Register start="+0x38+8" size="4" name="ICM_UIHVAL2" access="WriteOnly" description="User Initial Hash Value n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="VAL" description="Initial Hash Value" />
+    </Register>
+    <Register start="+0x38+12" size="4" name="ICM_UIHVAL3" access="WriteOnly" description="User Initial Hash Value n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="VAL" description="Initial Hash Value" />
+    </Register>
+    <Register start="+0x38+16" size="4" name="ICM_UIHVAL4" access="WriteOnly" description="User Initial Hash Value n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="VAL" description="Initial Hash Value" />
+    </Register>
+    <Register start="+0x38+20" size="4" name="ICM_UIHVAL5" access="WriteOnly" description="User Initial Hash Value n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="VAL" description="Initial Hash Value" />
+    </Register>
+    <Register start="+0x38+24" size="4" name="ICM_UIHVAL6" access="WriteOnly" description="User Initial Hash Value n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="VAL" description="Initial Hash Value" />
+    </Register>
+    <Register start="+0x38+28" size="4" name="ICM_UIHVAL7" access="WriteOnly" description="User Initial Hash Value n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="VAL" description="Initial Hash Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="I2S" start="0x43002800" description="Inter-IC Sound Interface">
+    <Register start="+0x00" size="1" name="I2S_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="1" name="CKEN0" description="Clock Unit 0 Enable" />
+      <BitField start="3" size="1" name="CKEN1" description="Clock Unit 1 Enable" />
+      <BitField start="4" size="1" name="TXEN" description="Tx Serializer Enable" />
+      <BitField start="5" size="1" name="RXEN" description="Rx Serializer Enable" />
+    </Register>
+    <Register start="+0x04+0" size="4" name="I2S_CLKCTRL0" access="Read/Write" description="Clock Unit n Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SLOTSIZE" description="Slot Size">
+        <Enum name="8" start="0x0" description="8-bit Slot for Clock Unit n" />
+        <Enum name="16" start="0x1" description="16-bit Slot for Clock Unit n" />
+        <Enum name="24" start="0x2" description="24-bit Slot for Clock Unit n" />
+        <Enum name="32" start="0x3" description="32-bit Slot for Clock Unit n" />
+      </BitField>
+      <BitField start="2" size="3" name="NBSLOTS" description="Number of Slots in Frame" />
+      <BitField start="5" size="2" name="FSWIDTH" description="Frame Sync Width">
+        <Enum name="SLOT" start="0x0" description="Frame Sync Pulse is 1 Slot wide (default for I2S protocol)" />
+        <Enum name="HALF" start="0x1" description="Frame Sync Pulse is half a Frame wide" />
+        <Enum name="BIT" start="0x2" description="Frame Sync Pulse is 1 Bit wide" />
+        <Enum name="BURST" start="0x3" description="Clock Unit n operates in Burst mode, with a 1-bit wide Frame Sync pulse per Data sample, only when Data transfer is requested" />
+      </BitField>
+      <BitField start="7" size="1" name="BITDELAY" description="Data Delay from Frame Sync">
+        <Enum name="LJ" start="0x0" description="Left Justified (0 Bit Delay)" />
+        <Enum name="I2S" start="0x1" description="I2S (1 Bit Delay)" />
+      </BitField>
+      <BitField start="8" size="1" name="FSSEL" description="Frame Sync Select">
+        <Enum name="SCKDIV" start="0x0" description="Divided Serial Clock n is used as Frame Sync n source" />
+        <Enum name="FSPIN" start="0x1" description="FSn input pin is used as Frame Sync n source" />
+      </BitField>
+      <BitField start="9" size="1" name="FSINV" description="Frame Sync Invert" />
+      <BitField start="10" size="1" name="FSOUTINV" description="Frame Sync Output Invert" />
+      <BitField start="11" size="1" name="SCKSEL" description="Serial Clock Select">
+        <Enum name="MCKDIV" start="0x0" description="Divided Master Clock n is used as Serial Clock n source" />
+        <Enum name="SCKPIN" start="0x1" description="SCKn input pin is used as Serial Clock n source" />
+      </BitField>
+      <BitField start="12" size="1" name="SCKOUTINV" description="Serial Clock Output Invert" />
+      <BitField start="13" size="1" name="MCKSEL" description="Master Clock Select">
+        <Enum name="GCLK" start="0x0" description="GCLK_I2S_n is used as Master Clock n source" />
+        <Enum name="MCKPIN" start="0x1" description="MCKn input pin is used as Master Clock n source" />
+      </BitField>
+      <BitField start="14" size="1" name="MCKEN" description="Master Clock Enable" />
+      <BitField start="15" size="1" name="MCKOUTINV" description="Master Clock Output Invert" />
+      <BitField start="16" size="6" name="MCKDIV" description="Master Clock Division Factor" />
+      <BitField start="24" size="6" name="MCKOUTDIV" description="Master Clock Output Division Factor" />
+    </Register>
+    <Register start="+0x04+4" size="4" name="I2S_CLKCTRL1" access="Read/Write" description="Clock Unit n Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SLOTSIZE" description="Slot Size">
+        <Enum name="8" start="0x0" description="8-bit Slot for Clock Unit n" />
+        <Enum name="16" start="0x1" description="16-bit Slot for Clock Unit n" />
+        <Enum name="24" start="0x2" description="24-bit Slot for Clock Unit n" />
+        <Enum name="32" start="0x3" description="32-bit Slot for Clock Unit n" />
+      </BitField>
+      <BitField start="2" size="3" name="NBSLOTS" description="Number of Slots in Frame" />
+      <BitField start="5" size="2" name="FSWIDTH" description="Frame Sync Width">
+        <Enum name="SLOT" start="0x0" description="Frame Sync Pulse is 1 Slot wide (default for I2S protocol)" />
+        <Enum name="HALF" start="0x1" description="Frame Sync Pulse is half a Frame wide" />
+        <Enum name="BIT" start="0x2" description="Frame Sync Pulse is 1 Bit wide" />
+        <Enum name="BURST" start="0x3" description="Clock Unit n operates in Burst mode, with a 1-bit wide Frame Sync pulse per Data sample, only when Data transfer is requested" />
+      </BitField>
+      <BitField start="7" size="1" name="BITDELAY" description="Data Delay from Frame Sync">
+        <Enum name="LJ" start="0x0" description="Left Justified (0 Bit Delay)" />
+        <Enum name="I2S" start="0x1" description="I2S (1 Bit Delay)" />
+      </BitField>
+      <BitField start="8" size="1" name="FSSEL" description="Frame Sync Select">
+        <Enum name="SCKDIV" start="0x0" description="Divided Serial Clock n is used as Frame Sync n source" />
+        <Enum name="FSPIN" start="0x1" description="FSn input pin is used as Frame Sync n source" />
+      </BitField>
+      <BitField start="9" size="1" name="FSINV" description="Frame Sync Invert" />
+      <BitField start="10" size="1" name="FSOUTINV" description="Frame Sync Output Invert" />
+      <BitField start="11" size="1" name="SCKSEL" description="Serial Clock Select">
+        <Enum name="MCKDIV" start="0x0" description="Divided Master Clock n is used as Serial Clock n source" />
+        <Enum name="SCKPIN" start="0x1" description="SCKn input pin is used as Serial Clock n source" />
+      </BitField>
+      <BitField start="12" size="1" name="SCKOUTINV" description="Serial Clock Output Invert" />
+      <BitField start="13" size="1" name="MCKSEL" description="Master Clock Select">
+        <Enum name="GCLK" start="0x0" description="GCLK_I2S_n is used as Master Clock n source" />
+        <Enum name="MCKPIN" start="0x1" description="MCKn input pin is used as Master Clock n source" />
+      </BitField>
+      <BitField start="14" size="1" name="MCKEN" description="Master Clock Enable" />
+      <BitField start="15" size="1" name="MCKOUTINV" description="Master Clock Output Invert" />
+      <BitField start="16" size="6" name="MCKDIV" description="Master Clock Division Factor" />
+      <BitField start="24" size="6" name="MCKOUTDIV" description="Master Clock Output Division Factor" />
+    </Register>
+    <Register start="+0x0C" size="2" name="I2S_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RXRDY0" description="Receive Ready 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="RXRDY1" description="Receive Ready 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXOR0" description="Receive Overrun 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="RXOR1" description="Receive Overrun 1 Interrupt Enable" />
+      <BitField start="8" size="1" name="TXRDY0" description="Transmit Ready 0 Interrupt Enable" />
+      <BitField start="9" size="1" name="TXRDY1" description="Transmit Ready 1 Interrupt Enable" />
+      <BitField start="12" size="1" name="TXUR0" description="Transmit Underrun 0 Interrupt Enable" />
+      <BitField start="13" size="1" name="TXUR1" description="Transmit Underrun 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x10" size="2" name="I2S_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RXRDY0" description="Receive Ready 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="RXRDY1" description="Receive Ready 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXOR0" description="Receive Overrun 0 Interrupt Enable" />
+      <BitField start="5" size="1" name="RXOR1" description="Receive Overrun 1 Interrupt Enable" />
+      <BitField start="8" size="1" name="TXRDY0" description="Transmit Ready 0 Interrupt Enable" />
+      <BitField start="9" size="1" name="TXRDY1" description="Transmit Ready 1 Interrupt Enable" />
+      <BitField start="12" size="1" name="TXUR0" description="Transmit Underrun 0 Interrupt Enable" />
+      <BitField start="13" size="1" name="TXUR1" description="Transmit Underrun 1 Interrupt Enable" />
+    </Register>
+    <Register start="+0x14" size="2" name="I2S_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RXRDY0" description="Receive Ready 0" />
+      <BitField start="1" size="1" name="RXRDY1" description="Receive Ready 1" />
+      <BitField start="4" size="1" name="RXOR0" description="Receive Overrun 0" />
+      <BitField start="5" size="1" name="RXOR1" description="Receive Overrun 1" />
+      <BitField start="8" size="1" name="TXRDY0" description="Transmit Ready 0" />
+      <BitField start="9" size="1" name="TXRDY1" description="Transmit Ready 1" />
+      <BitField start="12" size="1" name="TXUR0" description="Transmit Underrun 0" />
+      <BitField start="13" size="1" name="TXUR1" description="Transmit Underrun 1" />
+    </Register>
+    <Register start="+0x18" size="2" name="I2S_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Status" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Synchronization Status" />
+      <BitField start="2" size="1" name="CKEN0" description="Clock Unit 0 Enable Synchronization Status" />
+      <BitField start="3" size="1" name="CKEN1" description="Clock Unit 1 Enable Synchronization Status" />
+      <BitField start="4" size="1" name="TXEN" description="Tx Serializer Enable Synchronization Status" />
+      <BitField start="5" size="1" name="RXEN" description="Rx Serializer Enable Synchronization Status" />
+      <BitField start="8" size="1" name="TXDATA" description="Tx Data Synchronization Status" />
+      <BitField start="9" size="1" name="RXDATA" description="Rx Data Synchronization Status" />
+    </Register>
+    <Register start="+0x20" size="4" name="I2S_TXCTRL" access="Read/Write" description="Tx Serializer Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="2" name="TXDEFAULT" description="Line Default Line when Slot Disabled">
+        <Enum name="ZERO" start="0x0" description="Output Default Value is 0" />
+        <Enum name="ONE" start="0x1" description="Output Default Value is 1" />
+        <Enum name="HIZ" start="0x3" description="Output Default Value is high impedance" />
+      </BitField>
+      <BitField start="4" size="1" name="TXSAME" description="Transmit Data when Underrun">
+        <Enum name="ZERO" start="0x0" description="Zero data transmitted in case of underrun" />
+        <Enum name="SAME" start="0x1" description="Last data transmitted in case of underrun" />
+      </BitField>
+      <BitField start="7" size="1" name="SLOTADJ" description="Data Slot Formatting Adjust">
+        <Enum name="RIGHT" start="0x0" description="Data is right adjusted in slot" />
+        <Enum name="LEFT" start="0x1" description="Data is left adjusted in slot" />
+      </BitField>
+      <BitField start="8" size="3" name="DATASIZE" description="Data Word Size">
+        <Enum name="32" start="0x0" description="32 bits" />
+        <Enum name="24" start="0x1" description="24 bits" />
+        <Enum name="20" start="0x2" description="20 bits" />
+        <Enum name="18" start="0x3" description="18 bits" />
+        <Enum name="16" start="0x4" description="16 bits" />
+        <Enum name="16C" start="0x5" description="16 bits compact stereo" />
+        <Enum name="8" start="0x6" description="8 bits" />
+        <Enum name="8C" start="0x7" description="8 bits compact stereo" />
+      </BitField>
+      <BitField start="12" size="1" name="WORDADJ" description="Data Word Formatting Adjust">
+        <Enum name="RIGHT" start="0x0" description="Data is right adjusted in word" />
+        <Enum name="LEFT" start="0x1" description="Data is left adjusted in word" />
+      </BitField>
+      <BitField start="13" size="2" name="EXTEND" description="Data Formatting Bit Extension">
+        <Enum name="ZERO" start="0x0" description="Extend with zeroes" />
+        <Enum name="ONE" start="0x1" description="Extend with ones" />
+        <Enum name="MSBIT" start="0x2" description="Extend with Most Significant Bit" />
+        <Enum name="LSBIT" start="0x3" description="Extend with Least Significant Bit" />
+      </BitField>
+      <BitField start="15" size="1" name="BITREV" description="Data Formatting Bit Reverse">
+        <Enum name="MSBIT" start="0x0" description="Transfer Data Most Significant Bit (MSB) first (default for I2S protocol)" />
+        <Enum name="LSBIT" start="0x1" description="Transfer Data Least Significant Bit (LSB) first" />
+      </BitField>
+      <BitField start="16" size="1" name="SLOTDIS0" description="Slot 0 Disabled for this Serializer" />
+      <BitField start="17" size="1" name="SLOTDIS1" description="Slot 1 Disabled for this Serializer" />
+      <BitField start="18" size="1" name="SLOTDIS2" description="Slot 2 Disabled for this Serializer" />
+      <BitField start="19" size="1" name="SLOTDIS3" description="Slot 3 Disabled for this Serializer" />
+      <BitField start="20" size="1" name="SLOTDIS4" description="Slot 4 Disabled for this Serializer" />
+      <BitField start="21" size="1" name="SLOTDIS5" description="Slot 5 Disabled for this Serializer" />
+      <BitField start="22" size="1" name="SLOTDIS6" description="Slot 6 Disabled for this Serializer" />
+      <BitField start="23" size="1" name="SLOTDIS7" description="Slot 7 Disabled for this Serializer" />
+      <BitField start="24" size="1" name="MONO" description="Mono Mode">
+        <Enum name="STEREO" start="0x0" description="Normal mode" />
+        <Enum name="MONO" start="0x1" description="Left channel data is duplicated to right channel" />
+      </BitField>
+      <BitField start="25" size="1" name="DMA" description="Single or Multiple DMA Channels">
+        <Enum name="SINGLE" start="0x0" description="Single DMA channel" />
+        <Enum name="MULTIPLE" start="0x1" description="One DMA channel per data channel" />
+      </BitField>
+    </Register>
+    <Register start="+0x24" size="4" name="I2S_RXCTRL" access="Read/Write" description="Rx Serializer Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SERMODE" description="Serializer Mode">
+        <Enum name="RX" start="0x0" description="Receive" />
+        <Enum name="PDM2" start="0x2" description="Receive one PDM data on each serial clock edge" />
+      </BitField>
+      <BitField start="5" size="1" name="CLKSEL" description="Clock Unit Selection">
+        <Enum name="CLK0" start="0x0" description="Use Clock Unit 0" />
+        <Enum name="CLK1" start="0x1" description="Use Clock Unit 1" />
+      </BitField>
+      <BitField start="7" size="1" name="SLOTADJ" description="Data Slot Formatting Adjust">
+        <Enum name="RIGHT" start="0x0" description="Data is right adjusted in slot" />
+        <Enum name="LEFT" start="0x1" description="Data is left adjusted in slot" />
+      </BitField>
+      <BitField start="8" size="3" name="DATASIZE" description="Data Word Size">
+        <Enum name="32" start="0x0" description="32 bits" />
+        <Enum name="24" start="0x1" description="24 bits" />
+        <Enum name="20" start="0x2" description="20 bits" />
+        <Enum name="18" start="0x3" description="18 bits" />
+        <Enum name="16" start="0x4" description="16 bits" />
+        <Enum name="16C" start="0x5" description="16 bits compact stereo" />
+        <Enum name="8" start="0x6" description="8 bits" />
+        <Enum name="8C" start="0x7" description="8 bits compact stereo" />
+      </BitField>
+      <BitField start="12" size="1" name="WORDADJ" description="Data Word Formatting Adjust">
+        <Enum name="RIGHT" start="0x0" description="Data is right adjusted in word" />
+        <Enum name="LEFT" start="0x1" description="Data is left adjusted in word" />
+      </BitField>
+      <BitField start="13" size="2" name="EXTEND" description="Data Formatting Bit Extension">
+        <Enum name="ZERO" start="0x0" description="Extend with zeroes" />
+        <Enum name="ONE" start="0x1" description="Extend with ones" />
+        <Enum name="MSBIT" start="0x2" description="Extend with Most Significant Bit" />
+        <Enum name="LSBIT" start="0x3" description="Extend with Least Significant Bit" />
+      </BitField>
+      <BitField start="15" size="1" name="BITREV" description="Data Formatting Bit Reverse">
+        <Enum name="MSBIT" start="0x0" description="Transfer Data Most Significant Bit (MSB) first (default for I2S protocol)" />
+        <Enum name="LSBIT" start="0x1" description="Transfer Data Least Significant Bit (LSB) first" />
+      </BitField>
+      <BitField start="16" size="1" name="SLOTDIS0" description="Slot 0 Disabled for this Serializer" />
+      <BitField start="17" size="1" name="SLOTDIS1" description="Slot 1 Disabled for this Serializer" />
+      <BitField start="18" size="1" name="SLOTDIS2" description="Slot 2 Disabled for this Serializer" />
+      <BitField start="19" size="1" name="SLOTDIS3" description="Slot 3 Disabled for this Serializer" />
+      <BitField start="20" size="1" name="SLOTDIS4" description="Slot 4 Disabled for this Serializer" />
+      <BitField start="21" size="1" name="SLOTDIS5" description="Slot 5 Disabled for this Serializer" />
+      <BitField start="22" size="1" name="SLOTDIS6" description="Slot 6 Disabled for this Serializer" />
+      <BitField start="23" size="1" name="SLOTDIS7" description="Slot 7 Disabled for this Serializer" />
+      <BitField start="24" size="1" name="MONO" description="Mono Mode">
+        <Enum name="STEREO" start="0x0" description="Normal mode" />
+        <Enum name="MONO" start="0x1" description="Left channel data is duplicated to right channel" />
+      </BitField>
+      <BitField start="25" size="1" name="DMA" description="Single or Multiple DMA Channels">
+        <Enum name="SINGLE" start="0x0" description="Single DMA channel" />
+        <Enum name="MULTIPLE" start="0x1" description="One DMA channel per data channel" />
+      </BitField>
+      <BitField start="26" size="1" name="RXLOOP" description="Loop-back Test Mode" />
+    </Register>
+    <Register start="+0x30" size="4" name="I2S_TXDATA" access="WriteOnly" description="Tx Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Sample Data" />
+    </Register>
+    <Register start="+0x34" size="4" name="I2S_RXDATA" access="ReadOnly" description="Rx Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Sample Data" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="MCLK" start="0x40000800" description="Main Clock">
+    <Register start="+0x01" size="1" name="MCLK_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CKRDY" description="Clock Ready Interrupt Enable" />
+    </Register>
+    <Register start="+0x02" size="1" name="MCLK_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CKRDY" description="Clock Ready Interrupt Enable" />
+    </Register>
+    <Register start="+0x03" size="1" name="MCLK_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CKRDY" description="Clock Ready" />
+    </Register>
+    <Register start="+0x04" size="1" name="MCLK_HSDIV" access="ReadOnly" description="HS Clock Division" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="DIV" description="CPU Clock Division Factor">
+        <Enum name="DIV1" start="0x1" description="Divide by 1" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="MCLK_CPUDIV" access="Read/Write" description="CPU Clock Division" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="DIV" description="Low-Power Clock Division Factor">
+        <Enum name="DIV1" start="0x1" description="Divide by 1" />
+        <Enum name="DIV2" start="0x2" description="Divide by 2" />
+        <Enum name="DIV4" start="0x4" description="Divide by 4" />
+        <Enum name="DIV8" start="0x8" description="Divide by 8" />
+        <Enum name="DIV16" start="0x10" description="Divide by 16" />
+        <Enum name="DIV32" start="0x20" description="Divide by 32" />
+        <Enum name="DIV64" start="0x40" description="Divide by 64" />
+        <Enum name="DIV128" start="0x80" description="Divide by 128" />
+      </BitField>
+    </Register>
+    <Register start="+0x10" size="4" name="MCLK_AHBMASK" access="Read/Write" description="AHB Mask" reset_value="0x00FFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="HPB0_" description="HPB0 AHB Clock Mask" />
+      <BitField start="1" size="1" name="HPB1_" description="HPB1 AHB Clock Mask" />
+      <BitField start="2" size="1" name="HPB2_" description="HPB2 AHB Clock Mask" />
+      <BitField start="3" size="1" name="HPB3_" description="HPB3 AHB Clock Mask" />
+      <BitField start="4" size="1" name="DSU_" description="DSU AHB Clock Mask" />
+      <BitField start="5" size="1" name="HMATRIX_" description="HMATRIX AHB Clock Mask" />
+      <BitField start="6" size="1" name="NVMCTRL_" description="NVMCTRL AHB Clock Mask" />
+      <BitField start="7" size="1" name="HSRAM_" description="HSRAM AHB Clock Mask" />
+      <BitField start="8" size="1" name="CMCC_" description="CMCC AHB Clock Mask" />
+      <BitField start="9" size="1" name="DMAC_" description="DMAC AHB Clock Mask" />
+      <BitField start="10" size="1" name="USB_" description="USB AHB Clock Mask" />
+      <BitField start="11" size="1" name="BKUPRAM_" description="BKUPRAM AHB Clock Mask" />
+      <BitField start="12" size="1" name="PAC_" description="PAC AHB Clock Mask" />
+      <BitField start="13" size="1" name="QSPI_" description="QSPI AHB Clock Mask" />
+      <BitField start="15" size="1" name="SDHC0_" description="SDHC0 AHB Clock Mask" />
+      <BitField start="19" size="1" name="ICM_" description="ICM AHB Clock Mask" />
+      <BitField start="20" size="1" name="PUKCC_" description="PUKCC AHB Clock Mask" />
+      <BitField start="21" size="1" name="QSPI_2X_" description="QSPI_2X AHB Clock Mask" />
+      <BitField start="22" size="1" name="NVMCTRL_SMEEPROM_" description="NVMCTRL_SMEEPROM AHB Clock Mask" />
+      <BitField start="23" size="1" name="NVMCTRL_CACHE_" description="NVMCTRL_CACHE AHB Clock Mask" />
+    </Register>
+    <Register start="+0x14" size="4" name="MCLK_APBAMASK" access="Read/Write" description="APBA Mask" reset_value="0x000007FF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PAC_" description="PAC APB Clock Enable" />
+      <BitField start="1" size="1" name="PM_" description="PM APB Clock Enable" />
+      <BitField start="2" size="1" name="MCLK_" description="MCLK APB Clock Enable" />
+      <BitField start="3" size="1" name="RSTC_" description="RSTC APB Clock Enable" />
+      <BitField start="4" size="1" name="OSCCTRL_" description="OSCCTRL APB Clock Enable" />
+      <BitField start="5" size="1" name="OSC32KCTRL_" description="OSC32KCTRL APB Clock Enable" />
+      <BitField start="6" size="1" name="SUPC_" description="SUPC APB Clock Enable" />
+      <BitField start="7" size="1" name="GCLK_" description="GCLK APB Clock Enable" />
+      <BitField start="8" size="1" name="WDT_" description="WDT APB Clock Enable" />
+      <BitField start="9" size="1" name="RTC_" description="RTC APB Clock Enable" />
+      <BitField start="10" size="1" name="EIC_" description="EIC APB Clock Enable" />
+      <BitField start="11" size="1" name="FREQM_" description="FREQM APB Clock Enable" />
+      <BitField start="12" size="1" name="SERCOM0_" description="SERCOM0 APB Clock Enable" />
+      <BitField start="13" size="1" name="SERCOM1_" description="SERCOM1 APB Clock Enable" />
+      <BitField start="14" size="1" name="TC0_" description="TC0 APB Clock Enable" />
+      <BitField start="15" size="1" name="TC1_" description="TC1 APB Clock Enable" />
+    </Register>
+    <Register start="+0x18" size="4" name="MCLK_APBBMASK" access="Read/Write" description="APBB Mask" reset_value="0x00018056" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="USB_" description="USB APB Clock Enable" />
+      <BitField start="1" size="1" name="DSU_" description="DSU APB Clock Enable" />
+      <BitField start="2" size="1" name="NVMCTRL_" description="NVMCTRL APB Clock Enable" />
+      <BitField start="4" size="1" name="PORT_" description="PORT APB Clock Enable" />
+      <BitField start="6" size="1" name="HMATRIX_" description="HMATRIX APB Clock Enable" />
+      <BitField start="7" size="1" name="EVSYS_" description="EVSYS APB Clock Enable" />
+      <BitField start="9" size="1" name="SERCOM2_" description="SERCOM2 APB Clock Enable" />
+      <BitField start="10" size="1" name="SERCOM3_" description="SERCOM3 APB Clock Enable" />
+      <BitField start="11" size="1" name="TCC0_" description="TCC0 APB Clock Enable" />
+      <BitField start="12" size="1" name="TCC1_" description="TCC1 APB Clock Enable" />
+      <BitField start="13" size="1" name="TC2_" description="TC2 APB Clock Enable" />
+      <BitField start="14" size="1" name="TC3_" description="TC3 APB Clock Enable" />
+      <BitField start="15" size="1" name="TAL_" description="TAL APB Clock Enable" />
+      <BitField start="16" size="1" name="RAMECC_" description="RAMECC APB Clock Enable" />
+    </Register>
+    <Register start="+0x1C" size="4" name="MCLK_APBCMASK" access="Read/Write" description="APBC Mask" reset_value="0x00002000" reset_mask="0xFFFFFFFF">
+      <BitField start="3" size="1" name="TCC2_" description="TCC2 APB Clock Enable" />
+      <BitField start="4" size="1" name="TCC3_" description="TCC3 APB Clock Enable" />
+      <BitField start="5" size="1" name="TC4_" description="TC4 APB Clock Enable" />
+      <BitField start="6" size="1" name="TC5_" description="TC5 APB Clock Enable" />
+      <BitField start="7" size="1" name="PDEC_" description="PDEC APB Clock Enable" />
+      <BitField start="8" size="1" name="AC_" description="AC APB Clock Enable" />
+      <BitField start="9" size="1" name="AES_" description="AES APB Clock Enable" />
+      <BitField start="10" size="1" name="TRNG_" description="TRNG APB Clock Enable" />
+      <BitField start="11" size="1" name="ICM_" description="ICM APB Clock Enable" />
+      <BitField start="13" size="1" name="QSPI_" description="QSPI APB Clock Enable" />
+      <BitField start="14" size="1" name="CCL_" description="CCL APB Clock Enable" />
+    </Register>
+    <Register start="+0x20" size="4" name="MCLK_APBDMASK" access="Read/Write" description="APBD Mask" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SERCOM4_" description="SERCOM4 APB Clock Enable" />
+      <BitField start="1" size="1" name="SERCOM5_" description="SERCOM5 APB Clock Enable" />
+      <BitField start="4" size="1" name="TCC4_" description="TCC4 APB Clock Enable" />
+      <BitField start="7" size="1" name="ADC0_" description="ADC0 APB Clock Enable" />
+      <BitField start="8" size="1" name="ADC1_" description="ADC1 APB Clock Enable" />
+      <BitField start="9" size="1" name="DAC_" description="DAC APB Clock Enable" />
+      <BitField start="10" size="1" name="I2S_" description="I2S APB Clock Enable" />
+      <BitField start="11" size="1" name="PCC_" description="PCC APB Clock Enable" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="NVMCTRL" start="0x41004000" description="Non-Volatile Memory Controller">
+    <Register start="+0x00" size="2" name="NVMCTRL_CTRLA" access="Read/Write" description="Control A" reset_value="0x0004" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="AUTOWS" description="Auto Wait State Enable" />
+      <BitField start="3" size="1" name="SUSPEN" description="Suspend Enable" />
+      <BitField start="4" size="2" name="WMODE" description="Write Mode">
+        <Enum name="MAN" start="0x0" description="Manual Write" />
+        <Enum name="ADW" start="0x1" description="Automatic Double Word Write" />
+        <Enum name="AQW" start="0x2" description="Automatic Quad Word" />
+        <Enum name="AP" start="0x3" description="Automatic Page Write" />
+      </BitField>
+      <BitField start="6" size="2" name="PRM" description="Power Reduction Mode during Sleep">
+        <Enum name="SEMIAUTO" start="0x0" description="NVM block enters low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode upon first access." />
+        <Enum name="FULLAUTO" start="0x1" description="NVM block enters low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode when system is not in standby mode." />
+        <Enum name="MANUAL" start="0x3" description="NVM block does not enter low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode upon first access." />
+      </BitField>
+      <BitField start="8" size="4" name="RWS" description="NVM Read Wait States" />
+      <BitField start="12" size="1" name="AHBNS0" description="Force AHB0 access to NONSEQ, burst transfers are continuously rearbitrated" />
+      <BitField start="13" size="1" name="AHBNS1" description="Force AHB1 access to NONSEQ, burst transfers are continuously rearbitrated" />
+      <BitField start="14" size="1" name="CACHEDIS0" description="AHB0 Cache Disable" />
+      <BitField start="15" size="1" name="CACHEDIS1" description="AHB1 Cache Disable" />
+    </Register>
+    <Register start="+0x04" size="2" name="NVMCTRL_CTRLB" access="WriteOnly" description="Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="CMD" description="Command">
+        <Enum name="EP" start="0x0" description="Erase Page - Only supported in the USER and AUX pages." />
+        <Enum name="EB" start="0x1" description="Erase Block - Erases the block addressed by the ADDR register, not supported in the user page" />
+        <Enum name="WP" start="0x3" description="Write Page - Writes the contents of the page buffer to the page addressed by the ADDR register, not supported in the user page" />
+        <Enum name="WQW" start="0x4" description="Write Quad Word - Writes a 128-bit word at the location addressed by the ADDR register." />
+        <Enum name="SWRST" start="0x10" description="Software Reset - Power-Cycle the NVM memory and replay the device automatic calibration procedure and resets the module configuration registers" />
+        <Enum name="LR" start="0x11" description="Lock Region - Locks the region containing the address location in the ADDR register." />
+        <Enum name="UR" start="0x12" description="Unlock Region - Unlocks the region containing the address location in the ADDR register." />
+        <Enum name="SPRM" start="0x13" description="Sets the power reduction mode." />
+        <Enum name="CPRM" start="0x14" description="Clears the power reduction mode." />
+        <Enum name="PBC" start="0x15" description="Page Buffer Clear - Clears the page buffer." />
+        <Enum name="SSB" start="0x16" description="Set Security Bit" />
+        <Enum name="BKSWRST" start="0x17" description="Bank swap and system reset, if SMEE is used also reallocate SMEE data into the opposite BANK" />
+        <Enum name="CELCK" start="0x18" description="Chip Erase Lock - DSU.CE command is not available" />
+        <Enum name="CEULCK" start="0x19" description="Chip Erase Unlock - DSU.CE command is available" />
+        <Enum name="SBPDIS" start="0x1a" description="Sets STATUS.BPDIS, Boot loader protection is discarded until CBPDIS is issued or next start-up sequence" />
+        <Enum name="CBPDIS" start="0x1b" description="Clears STATUS.BPDIS, Boot loader protection is not discarded" />
+        <Enum name="ASEES0" start="0x30" description="Activate SmartEEPROM Sector 0, deactivate Sector 1" />
+        <Enum name="ASEES1" start="0x31" description="Activate SmartEEPROM Sector 1, deactivate Sector 0" />
+        <Enum name="SEERALOC" start="0x32" description="Starts SmartEEPROM sector reallocation algorithm" />
+        <Enum name="SEEFLUSH" start="0x33" description="Flush SMEE data when in buffered mode" />
+        <Enum name="LSEE" start="0x34" description="Lock access to SmartEEPROM data from any mean" />
+        <Enum name="USEE" start="0x35" description="Unlock access to SmartEEPROM data" />
+        <Enum name="LSEER" start="0x36" description="Lock access to the SmartEEPROM Register Address Space (above 64KB)" />
+        <Enum name="USEER" start="0x37" description="Unlock access to the SmartEEPROM Register Address Space (above 64KB)" />
+      </BitField>
+      <BitField start="8" size="8" name="CMDEX" description="Command Execution">
+        <Enum name="KEY" start="0xa5" description="Execution Key" />
+      </BitField>
+    </Register>
+    <Register start="+0x08" size="4" name="NVMCTRL_PARAM" access="ReadOnly" description="NVM Parameter" reset_value="0x00060000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="NVMP" description="NVM Pages" />
+      <BitField start="16" size="3" name="PSZ" description="Page Size">
+        <Enum name="8" start="0x0" description="8 bytes" />
+        <Enum name="16" start="0x1" description="16 bytes" />
+        <Enum name="32" start="0x2" description="32 bytes" />
+        <Enum name="64" start="0x3" description="64 bytes" />
+        <Enum name="128" start="0x4" description="128 bytes" />
+        <Enum name="256" start="0x5" description="256 bytes" />
+        <Enum name="512" start="0x6" description="512 bytes" />
+        <Enum name="1024" start="0x7" description="1024 bytes" />
+      </BitField>
+      <BitField start="31" size="1" name="SEE" description="SmartEEPROM Supported" />
+    </Register>
+    <Register start="+0x0C" size="2" name="NVMCTRL_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DONE" description="Command Done Interrupt Clear" />
+      <BitField start="1" size="1" name="ADDRE" description="Address Error" />
+      <BitField start="2" size="1" name="PROGE" description="Programming Error Interrupt Clear" />
+      <BitField start="3" size="1" name="LOCKE" description="Lock Error Interrupt Clear" />
+      <BitField start="4" size="1" name="ECCSE" description="ECC Single Error Interrupt Clear" />
+      <BitField start="5" size="1" name="ECCDE" description="ECC Dual Error Interrupt Clear" />
+      <BitField start="6" size="1" name="NVME" description="NVM Error Interrupt Clear" />
+      <BitField start="7" size="1" name="SUSP" description="Suspended Write Or Erase Interrupt Clear" />
+      <BitField start="8" size="1" name="SEESFULL" description="Active SEES Full Interrupt Clear" />
+      <BitField start="9" size="1" name="SEESOVF" description="Active SEES Overflow Interrupt Clear" />
+      <BitField start="10" size="1" name="SEEWRC" description="SEE Write Completed Interrupt Clear" />
+    </Register>
+    <Register start="+0x0E" size="2" name="NVMCTRL_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DONE" description="Command Done Interrupt Enable" />
+      <BitField start="1" size="1" name="ADDRE" description="Address Error Interrupt Enable" />
+      <BitField start="2" size="1" name="PROGE" description="Programming Error Interrupt Enable" />
+      <BitField start="3" size="1" name="LOCKE" description="Lock Error Interrupt Enable" />
+      <BitField start="4" size="1" name="ECCSE" description="ECC Single Error Interrupt Enable" />
+      <BitField start="5" size="1" name="ECCDE" description="ECC Dual Error Interrupt Enable" />
+      <BitField start="6" size="1" name="NVME" description="NVM Error Interrupt Enable" />
+      <BitField start="7" size="1" name="SUSP" description="Suspended Write Or Erase  Interrupt Enable" />
+      <BitField start="8" size="1" name="SEESFULL" description="Active SEES Full Interrupt Enable" />
+      <BitField start="9" size="1" name="SEESOVF" description="Active SEES Overflow Interrupt Enable" />
+      <BitField start="10" size="1" name="SEEWRC" description="SEE Write Completed Interrupt Enable" />
+    </Register>
+    <Register start="+0x10" size="2" name="NVMCTRL_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DONE" description="Command Done" />
+      <BitField start="1" size="1" name="ADDRE" description="Address Error" />
+      <BitField start="2" size="1" name="PROGE" description="Programming Error" />
+      <BitField start="3" size="1" name="LOCKE" description="Lock Error" />
+      <BitField start="4" size="1" name="ECCSE" description="ECC Single Error" />
+      <BitField start="5" size="1" name="ECCDE" description="ECC Dual Error" />
+      <BitField start="6" size="1" name="NVME" description="NVM Error" />
+      <BitField start="7" size="1" name="SUSP" description="Suspended Write Or Erase Operation" />
+      <BitField start="8" size="1" name="SEESFULL" description="Active SEES Full" />
+      <BitField start="9" size="1" name="SEESOVF" description="Active SEES Overflow" />
+      <BitField start="10" size="1" name="SEEWRC" description="SEE Write Completed" />
+    </Register>
+    <Register start="+0x12" size="2" name="NVMCTRL_STATUS" access="ReadOnly" description="Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="READY" description="Ready to accept a command" />
+      <BitField start="1" size="1" name="PRM" description="Power Reduction Mode" />
+      <BitField start="2" size="1" name="LOAD" description="NVM Page Buffer Active Loading" />
+      <BitField start="3" size="1" name="SUSP" description="NVM Write Or Erase Operation Is Suspended" />
+      <BitField start="4" size="1" name="AFIRST" description="BANKA First" />
+      <BitField start="5" size="1" name="BPDIS" description="Boot Loader Protection Disable" />
+      <BitField start="8" size="4" name="BOOTPROT" description="Boot Loader Protection Size" />
+    </Register>
+    <Register start="+0x14" size="4" name="NVMCTRL_ADDR" access="Read/Write" description="Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="ADDR" description="NVM Address" />
+    </Register>
+    <Register start="+0x18" size="4" name="NVMCTRL_RUNLOCK" access="ReadOnly" description="Lock Section" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="RUNLOCK" description="Region Un-Lock Bits" />
+    </Register>
+    <Register start="+0x1C+0" size="4" name="NVMCTRL_PBLDATA0" access="ReadOnly" description="Page Buffer Load Data x" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Page Buffer Data" />
+    </Register>
+    <Register start="+0x1C+4" size="4" name="NVMCTRL_PBLDATA1" access="ReadOnly" description="Page Buffer Load Data x" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Page Buffer Data" />
+    </Register>
+    <Register start="+0x24" size="4" name="NVMCTRL_ECCERR" access="ReadOnly" description="ECC Error Status Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="ADDR" description="Error Address" />
+      <BitField start="28" size="2" name="TYPEL" description="Low Double-Word Error Type">
+        <Enum name="None" start="0x0" description="No Error Detected Since Last Read" />
+        <Enum name="Single" start="0x1" description="At Least One Single Error Detected Since last Read" />
+        <Enum name="Dual" start="0x2" description="At Least One Dual Error Detected Since Last Read" />
+      </BitField>
+      <BitField start="30" size="2" name="TYPEH" description="High Double-Word Error Type">
+        <Enum name="None" start="0x0" description="No Error Detected Since Last Read" />
+        <Enum name="Single" start="0x1" description="At Least One Single Error Detected Since last Read" />
+        <Enum name="Dual" start="0x2" description="At Least One Dual Error Detected Since Last Read" />
+      </BitField>
+    </Register>
+    <Register start="+0x28" size="1" name="NVMCTRL_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ECCDIS" description="Debugger ECC Read Disable" />
+      <BitField start="1" size="1" name="ECCELOG" description="Debugger ECC Error Tracking Mode" />
+    </Register>
+    <Register start="+0x2A" size="1" name="NVMCTRL_SEECFG" access="Read/Write" description="SmartEEPROM Configuration Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="WMODE" description="Write Mode">
+        <Enum name="UNBUFFERED" start="0x0" description="A NVM write command is issued after each write in the pagebuffer" />
+        <Enum name="BUFFERED" start="0x1" description="A NVM write command is issued when a write to a new page is requested" />
+      </BitField>
+      <BitField start="1" size="1" name="APRDIS" description="Automatic Page Reallocation Disable" />
+    </Register>
+    <Register start="+0x2C" size="4" name="NVMCTRL_SEESTAT" access="ReadOnly" description="SmartEEPROM Status Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ASEES" description="Active SmartEEPROM Sector" />
+      <BitField start="1" size="1" name="LOAD" description="Page Buffer Loaded" />
+      <BitField start="2" size="1" name="BUSY" description="Busy" />
+      <BitField start="3" size="1" name="LOCK" description="SmartEEPROM Write Access Is Locked" />
+      <BitField start="4" size="1" name="RLOCK" description="SmartEEPROM Write Access To Register Address Space Is Locked" />
+      <BitField start="8" size="4" name="SBLK" description="Blocks Number In a Sector" />
+      <BitField start="16" size="3" name="PSZ" description="SmartEEPROM Page Size" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="OSCCTRL" start="0x40001000" description="Oscillators Control">
+    <Register start="+0x00" size="1" name="OSCCTRL_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CFDEO0" description="Clock 0 Failure Detector Event Output Enable" />
+      <BitField start="1" size="1" name="CFDEO1" description="Clock 1 Failure Detector Event Output Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="OSCCTRL_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="XOSCRDY0" description="XOSC 0 Ready Interrupt Enable" />
+      <BitField start="1" size="1" name="XOSCRDY1" description="XOSC 1 Ready Interrupt Enable" />
+      <BitField start="2" size="1" name="XOSCFAIL0" description="XOSC 0 Clock Failure Detector Interrupt Enable" />
+      <BitField start="3" size="1" name="XOSCFAIL1" description="XOSC 1 Clock Failure Detector Interrupt Enable" />
+      <BitField start="8" size="1" name="DFLLRDY" description="DFLL Ready Interrupt Enable" />
+      <BitField start="9" size="1" name="DFLLOOB" description="DFLL Out Of Bounds Interrupt Enable" />
+      <BitField start="10" size="1" name="DFLLLCKF" description="DFLL Lock Fine Interrupt Enable" />
+      <BitField start="11" size="1" name="DFLLLCKC" description="DFLL Lock Coarse Interrupt Enable" />
+      <BitField start="12" size="1" name="DFLLRCS" description="DFLL Reference Clock Stopped Interrupt Enable" />
+      <BitField start="16" size="1" name="DPLL0LCKR" description="DPLL0 Lock Rise Interrupt Enable" />
+      <BitField start="17" size="1" name="DPLL0LCKF" description="DPLL0 Lock Fall Interrupt Enable" />
+      <BitField start="18" size="1" name="DPLL0LTO" description="DPLL0 Lock Timeout Interrupt Enable" />
+      <BitField start="19" size="1" name="DPLL0LDRTO" description="DPLL0 Loop Divider Ratio Update Complete Interrupt Enable" />
+      <BitField start="24" size="1" name="DPLL1LCKR" description="DPLL1 Lock Rise Interrupt Enable" />
+      <BitField start="25" size="1" name="DPLL1LCKF" description="DPLL1 Lock Fall Interrupt Enable" />
+      <BitField start="26" size="1" name="DPLL1LTO" description="DPLL1 Lock Timeout Interrupt Enable" />
+      <BitField start="27" size="1" name="DPLL1LDRTO" description="DPLL1 Loop Divider Ratio Update Complete Interrupt Enable" />
+    </Register>
+    <Register start="+0x08" size="4" name="OSCCTRL_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="XOSCRDY0" description="XOSC 0 Ready Interrupt Enable" />
+      <BitField start="1" size="1" name="XOSCRDY1" description="XOSC 1 Ready Interrupt Enable" />
+      <BitField start="2" size="1" name="XOSCFAIL0" description="XOSC 0 Clock Failure Detector Interrupt Enable" />
+      <BitField start="3" size="1" name="XOSCFAIL1" description="XOSC 1 Clock Failure Detector Interrupt Enable" />
+      <BitField start="8" size="1" name="DFLLRDY" description="DFLL Ready Interrupt Enable" />
+      <BitField start="9" size="1" name="DFLLOOB" description="DFLL Out Of Bounds Interrupt Enable" />
+      <BitField start="10" size="1" name="DFLLLCKF" description="DFLL Lock Fine Interrupt Enable" />
+      <BitField start="11" size="1" name="DFLLLCKC" description="DFLL Lock Coarse Interrupt Enable" />
+      <BitField start="12" size="1" name="DFLLRCS" description="DFLL Reference Clock Stopped Interrupt Enable" />
+      <BitField start="16" size="1" name="DPLL0LCKR" description="DPLL0 Lock Rise Interrupt Enable" />
+      <BitField start="17" size="1" name="DPLL0LCKF" description="DPLL0 Lock Fall Interrupt Enable" />
+      <BitField start="18" size="1" name="DPLL0LTO" description="DPLL0 Lock Timeout Interrupt Enable" />
+      <BitField start="19" size="1" name="DPLL0LDRTO" description="DPLL0 Loop Divider Ratio Update Complete Interrupt Enable" />
+      <BitField start="24" size="1" name="DPLL1LCKR" description="DPLL1 Lock Rise Interrupt Enable" />
+      <BitField start="25" size="1" name="DPLL1LCKF" description="DPLL1 Lock Fall Interrupt Enable" />
+      <BitField start="26" size="1" name="DPLL1LTO" description="DPLL1 Lock Timeout Interrupt Enable" />
+      <BitField start="27" size="1" name="DPLL1LDRTO" description="DPLL1 Loop Divider Ratio Update Complete Interrupt Enable" />
+    </Register>
+    <Register start="+0x0C" size="4" name="OSCCTRL_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="XOSCRDY0" description="XOSC 0 Ready" />
+      <BitField start="1" size="1" name="XOSCRDY1" description="XOSC 1 Ready" />
+      <BitField start="2" size="1" name="XOSCFAIL0" description="XOSC 0 Clock Failure Detector" />
+      <BitField start="3" size="1" name="XOSCFAIL1" description="XOSC 1 Clock Failure Detector" />
+      <BitField start="8" size="1" name="DFLLRDY" description="DFLL Ready" />
+      <BitField start="9" size="1" name="DFLLOOB" description="DFLL Out Of Bounds" />
+      <BitField start="10" size="1" name="DFLLLCKF" description="DFLL Lock Fine" />
+      <BitField start="11" size="1" name="DFLLLCKC" description="DFLL Lock Coarse" />
+      <BitField start="12" size="1" name="DFLLRCS" description="DFLL Reference Clock Stopped" />
+      <BitField start="16" size="1" name="DPLL0LCKR" description="DPLL0 Lock Rise" />
+      <BitField start="17" size="1" name="DPLL0LCKF" description="DPLL0 Lock Fall" />
+      <BitField start="18" size="1" name="DPLL0LTO" description="DPLL0 Lock Timeout" />
+      <BitField start="19" size="1" name="DPLL0LDRTO" description="DPLL0 Loop Divider Ratio Update Complete" />
+      <BitField start="24" size="1" name="DPLL1LCKR" description="DPLL1 Lock Rise" />
+      <BitField start="25" size="1" name="DPLL1LCKF" description="DPLL1 Lock Fall" />
+      <BitField start="26" size="1" name="DPLL1LTO" description="DPLL1 Lock Timeout" />
+      <BitField start="27" size="1" name="DPLL1LDRTO" description="DPLL1 Loop Divider Ratio Update Complete" />
+    </Register>
+    <Register start="+0x10" size="4" name="OSCCTRL_STATUS" access="ReadOnly" description="Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="XOSCRDY0" description="XOSC 0 Ready" />
+      <BitField start="1" size="1" name="XOSCRDY1" description="XOSC 1 Ready" />
+      <BitField start="2" size="1" name="XOSCFAIL0" description="XOSC 0 Clock Failure Detector" />
+      <BitField start="3" size="1" name="XOSCFAIL1" description="XOSC 1 Clock Failure Detector" />
+      <BitField start="4" size="1" name="XOSCCKSW0" description="XOSC 0 Clock Switch" />
+      <BitField start="5" size="1" name="XOSCCKSW1" description="XOSC 1 Clock Switch" />
+      <BitField start="8" size="1" name="DFLLRDY" description="DFLL Ready" />
+      <BitField start="9" size="1" name="DFLLOOB" description="DFLL Out Of Bounds" />
+      <BitField start="10" size="1" name="DFLLLCKF" description="DFLL Lock Fine" />
+      <BitField start="11" size="1" name="DFLLLCKC" description="DFLL Lock Coarse" />
+      <BitField start="12" size="1" name="DFLLRCS" description="DFLL Reference Clock Stopped" />
+      <BitField start="16" size="1" name="DPLL0LCKR" description="DPLL0 Lock Rise" />
+      <BitField start="17" size="1" name="DPLL0LCKF" description="DPLL0 Lock Fall" />
+      <BitField start="18" size="1" name="DPLL0TO" description="DPLL0 Timeout" />
+      <BitField start="19" size="1" name="DPLL0LDRTO" description="DPLL0 Loop Divider Ratio Update Complete" />
+      <BitField start="24" size="1" name="DPLL1LCKR" description="DPLL1 Lock Rise" />
+      <BitField start="25" size="1" name="DPLL1LCKF" description="DPLL1 Lock Fall" />
+      <BitField start="26" size="1" name="DPLL1TO" description="DPLL1 Timeout" />
+      <BitField start="27" size="1" name="DPLL1LDRTO" description="DPLL1 Loop Divider Ratio Update Complete" />
+    </Register>
+    <Register start="+0x14+0" size="4" name="OSCCTRL_XOSCCTRL0" access="Read/Write" description="External Multipurpose Crystal Oscillator Control" reset_value="0x00000080" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Oscillator Enable" />
+      <BitField start="2" size="1" name="XTALEN" description="Crystal Oscillator Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="On Demand Control" />
+      <BitField start="8" size="1" name="LOWBUFGAIN" description="Low Buffer Gain Enable" />
+      <BitField start="9" size="2" name="IPTAT" description="Oscillator Current Reference" />
+      <BitField start="11" size="4" name="IMULT" description="Oscillator Current Multiplier" />
+      <BitField start="15" size="1" name="ENALC" description="Automatic Loop Control Enable" />
+      <BitField start="16" size="1" name="CFDEN" description="Clock Failure Detector Enable" />
+      <BitField start="17" size="1" name="SWBEN" description="Xosc Clock Switch Enable" />
+      <BitField start="20" size="4" name="STARTUP" description="Start-Up Time" />
+      <BitField start="24" size="4" name="CFDPRESC" description="Clock Failure Detector Prescaler" />
+    </Register>
+    <Register start="+0x14+4" size="4" name="OSCCTRL_XOSCCTRL1" access="Read/Write" description="External Multipurpose Crystal Oscillator Control" reset_value="0x00000080" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Oscillator Enable" />
+      <BitField start="2" size="1" name="XTALEN" description="Crystal Oscillator Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="On Demand Control" />
+      <BitField start="8" size="1" name="LOWBUFGAIN" description="Low Buffer Gain Enable" />
+      <BitField start="9" size="2" name="IPTAT" description="Oscillator Current Reference" />
+      <BitField start="11" size="4" name="IMULT" description="Oscillator Current Multiplier" />
+      <BitField start="15" size="1" name="ENALC" description="Automatic Loop Control Enable" />
+      <BitField start="16" size="1" name="CFDEN" description="Clock Failure Detector Enable" />
+      <BitField start="17" size="1" name="SWBEN" description="Xosc Clock Switch Enable" />
+      <BitField start="20" size="4" name="STARTUP" description="Start-Up Time" />
+      <BitField start="24" size="4" name="CFDPRESC" description="Clock Failure Detector Prescaler" />
+    </Register>
+    <Register start="+0x1C" size="1" name="OSCCTRL_DFLLCTRLA" access="Read/Write" description="DFLL48M Control A" reset_value="0x82" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="DFLL Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="On Demand Control" />
+    </Register>
+    <Register start="+0x20" size="1" name="OSCCTRL_DFLLCTRLB" access="Read/Write" description="DFLL48M Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MODE" description="Operating Mode Selection" />
+      <BitField start="1" size="1" name="STABLE" description="Stable DFLL Frequency" />
+      <BitField start="2" size="1" name="LLAW" description="Lose Lock After Wake" />
+      <BitField start="3" size="1" name="USBCRM" description="USB Clock Recovery Mode" />
+      <BitField start="4" size="1" name="CCDIS" description="Chill Cycle Disable" />
+      <BitField start="5" size="1" name="QLDIS" description="Quick Lock Disable" />
+      <BitField start="6" size="1" name="BPLCKC" description="Bypass Coarse Lock" />
+      <BitField start="7" size="1" name="WAITLOCK" description="Wait Lock" />
+    </Register>
+    <Register start="+0x24" size="4" name="OSCCTRL_DFLLVAL" access="Read/Write" description="DFLL48M Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="FINE" description="Fine Value" />
+      <BitField start="10" size="6" name="COARSE" description="Coarse Value" />
+      <BitField start="16" size="16" name="DIFF" description="Multiplication Ratio Difference" />
+    </Register>
+    <Register start="+0x28" size="4" name="OSCCTRL_DFLLMUL" access="Read/Write" description="DFLL48M Multiplier" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="MUL" description="DFLL Multiply Factor" />
+      <BitField start="16" size="8" name="FSTEP" description="Fine Maximum Step" />
+      <BitField start="26" size="6" name="CSTEP" description="Coarse Maximum Step" />
+    </Register>
+    <Register start="+0x2C" size="1" name="OSCCTRL_DFLLSYNC" access="Read/Write" description="DFLL48M Synchronization" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="ENABLE Synchronization Busy" />
+      <BitField start="2" size="1" name="DFLLCTRLB" description="DFLLCTRLB Synchronization Busy" />
+      <BitField start="3" size="1" name="DFLLVAL" description="DFLLVAL Synchronization Busy" />
+      <BitField start="4" size="1" name="DFLLMUL" description="DFLLMUL Synchronization Busy" />
+    </Register>
+    <Register start="+0x30+0" size="1" name="OSCCTRL_DPLLCTRLA0" access="Read/Write" description="DPLL Control A" reset_value="0x80" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="DPLL Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="On Demand Control" />
+    </Register>
+    <Register start="+0x30+20" size="1" name="OSCCTRL_DPLLCTRLA1" access="Read/Write" description="DPLL Control A" reset_value="0x80" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="DPLL Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="On Demand Control" />
+    </Register>
+    <Register start="+0x34+0" size="4" name="OSCCTRL_DPLLRATIO0" access="Read/Write" description="DPLL Ratio Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="LDR" description="Loop Divider Ratio" />
+      <BitField start="16" size="5" name="LDRFRAC" description="Loop Divider Ratio Fractional Part" />
+    </Register>
+    <Register start="+0x34+20" size="4" name="OSCCTRL_DPLLRATIO1" access="Read/Write" description="DPLL Ratio Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="LDR" description="Loop Divider Ratio" />
+      <BitField start="16" size="5" name="LDRFRAC" description="Loop Divider Ratio Fractional Part" />
+    </Register>
+    <Register start="+0x38+0" size="4" name="OSCCTRL_DPLLCTRLB0" access="Read/Write" description="DPLL Control B" reset_value="0x00000020" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="FILTER" description="Proportional Integral Filter Selection" />
+      <BitField start="4" size="1" name="WUF" description="Wake Up Fast" />
+      <BitField start="5" size="3" name="REFCLK" description="Reference Clock Selection">
+        <Enum name="GCLK" start="0x0" description="Dedicated GCLK clock reference" />
+        <Enum name="XOSC32" start="0x1" description="XOSC32K clock reference" />
+        <Enum name="XOSC0" start="0x2" description="XOSC0 clock reference" />
+        <Enum name="XOSC1" start="0x3" description="XOSC1 clock reference" />
+      </BitField>
+      <BitField start="8" size="3" name="LTIME" description="Lock Time">
+        <Enum name="DEFAULT" start="0x0" description="No time-out. Automatic lock" />
+        <Enum name="800US" start="0x4" description="Time-out if no lock within 800us" />
+        <Enum name="900US" start="0x5" description="Time-out if no lock within 900us" />
+        <Enum name="1MS" start="0x6" description="Time-out if no lock within 1ms" />
+        <Enum name="1P1MS" start="0x7" description="Time-out if no lock within 1.1ms" />
+      </BitField>
+      <BitField start="11" size="1" name="LBYPASS" description="Lock Bypass" />
+      <BitField start="12" size="3" name="DCOFILTER" description="Sigma-Delta DCO Filter Selection" />
+      <BitField start="15" size="1" name="DCOEN" description="DCO Filter Enable" />
+      <BitField start="16" size="11" name="DIV" description="Clock Divider" />
+    </Register>
+    <Register start="+0x38+20" size="4" name="OSCCTRL_DPLLCTRLB1" access="Read/Write" description="DPLL Control B" reset_value="0x00000020" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="FILTER" description="Proportional Integral Filter Selection" />
+      <BitField start="4" size="1" name="WUF" description="Wake Up Fast" />
+      <BitField start="5" size="3" name="REFCLK" description="Reference Clock Selection">
+        <Enum name="GCLK" start="0x0" description="Dedicated GCLK clock reference" />
+        <Enum name="XOSC32" start="0x1" description="XOSC32K clock reference" />
+        <Enum name="XOSC0" start="0x2" description="XOSC0 clock reference" />
+        <Enum name="XOSC1" start="0x3" description="XOSC1 clock reference" />
+      </BitField>
+      <BitField start="8" size="3" name="LTIME" description="Lock Time">
+        <Enum name="DEFAULT" start="0x0" description="No time-out. Automatic lock" />
+        <Enum name="800US" start="0x4" description="Time-out if no lock within 800us" />
+        <Enum name="900US" start="0x5" description="Time-out if no lock within 900us" />
+        <Enum name="1MS" start="0x6" description="Time-out if no lock within 1ms" />
+        <Enum name="1P1MS" start="0x7" description="Time-out if no lock within 1.1ms" />
+      </BitField>
+      <BitField start="11" size="1" name="LBYPASS" description="Lock Bypass" />
+      <BitField start="12" size="3" name="DCOFILTER" description="Sigma-Delta DCO Filter Selection" />
+      <BitField start="15" size="1" name="DCOEN" description="DCO Filter Enable" />
+      <BitField start="16" size="11" name="DIV" description="Clock Divider" />
+    </Register>
+    <Register start="+0x3C+0" size="4" name="OSCCTRL_DPLLSYNCBUSY0" access="ReadOnly" description="DPLL Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="DPLL Enable Synchronization Status" />
+      <BitField start="2" size="1" name="DPLLRATIO" description="DPLL Loop Divider Ratio Synchronization Status" />
+    </Register>
+    <Register start="+0x3C+20" size="4" name="OSCCTRL_DPLLSYNCBUSY1" access="ReadOnly" description="DPLL Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="DPLL Enable Synchronization Status" />
+      <BitField start="2" size="1" name="DPLLRATIO" description="DPLL Loop Divider Ratio Synchronization Status" />
+    </Register>
+    <Register start="+0x40+0" size="4" name="OSCCTRL_DPLLSTATUS0" access="ReadOnly" description="DPLL Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="LOCK" description="DPLL Lock Status" />
+      <BitField start="1" size="1" name="CLKRDY" description="DPLL Clock Ready" />
+    </Register>
+    <Register start="+0x40+20" size="4" name="OSCCTRL_DPLLSTATUS1" access="ReadOnly" description="DPLL Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="LOCK" description="DPLL Lock Status" />
+      <BitField start="1" size="1" name="CLKRDY" description="DPLL Clock Ready" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="OSC32KCTRL" start="0x40001400" description="32kHz Oscillators Control">
+    <Register start="+0x00" size="4" name="OSC32KCTRL_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="XOSC32KRDY" description="XOSC32K Ready Interrupt Enable" />
+      <BitField start="2" size="1" name="XOSC32KFAIL" description="XOSC32K Clock Failure Detector Interrupt Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="OSC32KCTRL_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="XOSC32KRDY" description="XOSC32K Ready Interrupt Enable" />
+      <BitField start="2" size="1" name="XOSC32KFAIL" description="XOSC32K Clock Failure Detector Interrupt Enable" />
+    </Register>
+    <Register start="+0x08" size="4" name="OSC32KCTRL_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="XOSC32KRDY" description="XOSC32K Ready" />
+      <BitField start="2" size="1" name="XOSC32KFAIL" description="XOSC32K Clock Failure Detector" />
+    </Register>
+    <Register start="+0x0C" size="4" name="OSC32KCTRL_STATUS" access="ReadOnly" description="Power and Clocks Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="XOSC32KRDY" description="XOSC32K Ready" />
+      <BitField start="2" size="1" name="XOSC32KFAIL" description="XOSC32K Clock Failure Detector" />
+      <BitField start="3" size="1" name="XOSC32KSW" description="XOSC32K Clock switch" />
+    </Register>
+    <Register start="+0x10" size="1" name="OSC32KCTRL_RTCCTRL" access="Read/Write" description="RTC Clock Selection" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="RTCSEL" description="RTC Clock Selection">
+        <Enum name="ULP1K" start="0x0" description="1.024kHz from 32kHz internal ULP oscillator" />
+        <Enum name="ULP32K" start="0x1" description="32.768kHz from 32kHz internal ULP oscillator" />
+        <Enum name="XOSC1K" start="0x4" description="1.024kHz from 32.768kHz internal oscillator" />
+        <Enum name="XOSC32K" start="0x5" description="32.768kHz from 32.768kHz external crystal oscillator" />
+      </BitField>
+    </Register>
+    <Register start="+0x14" size="2" name="OSC32KCTRL_XOSC32K" access="Read/Write" description="32kHz External Crystal Oscillator (XOSC32K) Control" reset_value="0x2080" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Oscillator Enable" />
+      <BitField start="2" size="1" name="XTALEN" description="Crystal Oscillator Enable" />
+      <BitField start="3" size="1" name="EN32K" description="32kHz Output Enable" />
+      <BitField start="4" size="1" name="EN1K" description="1kHz Output Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="On Demand Control" />
+      <BitField start="8" size="3" name="STARTUP" description="Oscillator Start-Up Time" />
+      <BitField start="12" size="1" name="WRTLOCK" description="Write Lock" />
+      <BitField start="13" size="2" name="CGM" description="Control Gain Mode">
+        <Enum name="XT" start="0x1" description="Standard mode" />
+        <Enum name="HS" start="0x2" description="High Speed mode" />
+      </BitField>
+    </Register>
+    <Register start="+0x16" size="1" name="OSC32KCTRL_CFDCTRL" access="Read/Write" description="Clock Failure Detector Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CFDEN" description="Clock Failure Detector Enable" />
+      <BitField start="1" size="1" name="SWBACK" description="Clock Switch Back" />
+      <BitField start="2" size="1" name="CFDPRESC" description="Clock Failure Detector Prescaler" />
+    </Register>
+    <Register start="+0x17" size="1" name="OSC32KCTRL_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CFDEO" description="Clock Failure Detector Event Output Enable" />
+    </Register>
+    <Register start="+0x1C" size="4" name="OSC32KCTRL_OSCULP32K" access="Read/Write" description="32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="EN32K" description="Enable Out 32k" />
+      <BitField start="2" size="1" name="EN1K" description="Enable Out 1k" />
+      <BitField start="8" size="6" name="CALIB" description="Oscillator Calibration" />
+      <BitField start="15" size="1" name="WRTLOCK" description="Write Lock" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="PAC" start="0x40000000" description="Peripheral Access Controller">
+    <Register start="+0x00" size="4" name="PAC_WRCTRL" access="Read/Write" description="Write control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="PERID" description="Peripheral identifier" />
+      <BitField start="16" size="8" name="KEY" description="Peripheral access control key">
+        <Enum name="OFF" start="0x0" description="No action" />
+        <Enum name="CLR" start="0x1" description="Clear protection" />
+        <Enum name="SET" start="0x2" description="Set protection" />
+        <Enum name="SETLCK" start="0x3" description="Set and lock protection" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="PAC_EVCTRL" access="Read/Write" description="Event control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ERREO" description="Peripheral acess error event output" />
+    </Register>
+    <Register start="+0x08" size="1" name="PAC_INTENCLR" access="Read/Write" description="Interrupt enable clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ERR" description="Peripheral access error interrupt disable" />
+    </Register>
+    <Register start="+0x09" size="1" name="PAC_INTENSET" access="Read/Write" description="Interrupt enable set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ERR" description="Peripheral access error interrupt enable" />
+    </Register>
+    <Register start="+0x10" size="4" name="PAC_INTFLAGAHB" access="Read/Write" description="Bridge interrupt flag status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="FLASH_" description="FLASH" />
+      <BitField start="1" size="1" name="FLASH_ALT_" description="FLASH_ALT" />
+      <BitField start="2" size="1" name="SEEPROM_" description="SEEPROM" />
+      <BitField start="3" size="1" name="RAMCM4S_" description="RAMCM4S" />
+      <BitField start="4" size="1" name="RAMPPPDSU_" description="RAMPPPDSU" />
+      <BitField start="5" size="1" name="RAMDMAWR_" description="RAMDMAWR" />
+      <BitField start="6" size="1" name="RAMDMACICM_" description="RAMDMACICM" />
+      <BitField start="7" size="1" name="HPB0_" description="HPB0" />
+      <BitField start="8" size="1" name="HPB1_" description="HPB1" />
+      <BitField start="9" size="1" name="HPB2_" description="HPB2" />
+      <BitField start="10" size="1" name="HPB3_" description="HPB3" />
+      <BitField start="11" size="1" name="PUKCC_" description="PUKCC" />
+      <BitField start="12" size="1" name="SDHC0_" description="SDHC0" />
+      <BitField start="14" size="1" name="QSPI_" description="QSPI" />
+      <BitField start="15" size="1" name="BKUPRAM_" description="BKUPRAM" />
+    </Register>
+    <Register start="+0x14" size="4" name="PAC_INTFLAGA" access="Read/Write" description="Peripheral interrupt flag status - Bridge A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PAC_" description="PAC" />
+      <BitField start="1" size="1" name="PM_" description="PM" />
+      <BitField start="2" size="1" name="MCLK_" description="MCLK" />
+      <BitField start="3" size="1" name="RSTC_" description="RSTC" />
+      <BitField start="4" size="1" name="OSCCTRL_" description="OSCCTRL" />
+      <BitField start="5" size="1" name="OSC32KCTRL_" description="OSC32KCTRL" />
+      <BitField start="6" size="1" name="SUPC_" description="SUPC" />
+      <BitField start="7" size="1" name="GCLK_" description="GCLK" />
+      <BitField start="8" size="1" name="WDT_" description="WDT" />
+      <BitField start="9" size="1" name="RTC_" description="RTC" />
+      <BitField start="10" size="1" name="EIC_" description="EIC" />
+      <BitField start="11" size="1" name="FREQM_" description="FREQM" />
+      <BitField start="12" size="1" name="SERCOM0_" description="SERCOM0" />
+      <BitField start="13" size="1" name="SERCOM1_" description="SERCOM1" />
+      <BitField start="14" size="1" name="TC0_" description="TC0" />
+      <BitField start="15" size="1" name="TC1_" description="TC1" />
+    </Register>
+    <Register start="+0x18" size="4" name="PAC_INTFLAGB" access="Read/Write" description="Peripheral interrupt flag status - Bridge B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="USB_" description="USB" />
+      <BitField start="1" size="1" name="DSU_" description="DSU" />
+      <BitField start="2" size="1" name="NVMCTRL_" description="NVMCTRL" />
+      <BitField start="3" size="1" name="CMCC_" description="CMCC" />
+      <BitField start="4" size="1" name="PORT_" description="PORT" />
+      <BitField start="5" size="1" name="DMAC_" description="DMAC" />
+      <BitField start="6" size="1" name="HMATRIX_" description="HMATRIX" />
+      <BitField start="7" size="1" name="EVSYS_" description="EVSYS" />
+      <BitField start="9" size="1" name="SERCOM2_" description="SERCOM2" />
+      <BitField start="10" size="1" name="SERCOM3_" description="SERCOM3" />
+      <BitField start="11" size="1" name="TCC0_" description="TCC0" />
+      <BitField start="12" size="1" name="TCC1_" description="TCC1" />
+      <BitField start="13" size="1" name="TC2_" description="TC2" />
+      <BitField start="14" size="1" name="TC3_" description="TC3" />
+      <BitField start="15" size="1" name="TAL_" description="TAL" />
+      <BitField start="16" size="1" name="RAMECC_" description="RAMECC" />
+    </Register>
+    <Register start="+0x1C" size="4" name="PAC_INTFLAGC" access="Read/Write" description="Peripheral interrupt flag status - Bridge C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="3" size="1" name="TCC2_" description="TCC2" />
+      <BitField start="4" size="1" name="TCC3_" description="TCC3" />
+      <BitField start="5" size="1" name="TC4_" description="TC4" />
+      <BitField start="6" size="1" name="TC5_" description="TC5" />
+      <BitField start="7" size="1" name="PDEC_" description="PDEC" />
+      <BitField start="8" size="1" name="AC_" description="AC" />
+      <BitField start="9" size="1" name="AES_" description="AES" />
+      <BitField start="10" size="1" name="TRNG_" description="TRNG" />
+      <BitField start="11" size="1" name="ICM_" description="ICM" />
+      <BitField start="12" size="1" name="PUKCC_" description="PUKCC" />
+      <BitField start="13" size="1" name="QSPI_" description="QSPI" />
+      <BitField start="14" size="1" name="CCL_" description="CCL" />
+    </Register>
+    <Register start="+0x20" size="4" name="PAC_INTFLAGD" access="Read/Write" description="Peripheral interrupt flag status - Bridge D" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SERCOM4_" description="SERCOM4" />
+      <BitField start="1" size="1" name="SERCOM5_" description="SERCOM5" />
+      <BitField start="4" size="1" name="TCC4_" description="TCC4" />
+      <BitField start="7" size="1" name="ADC0_" description="ADC0" />
+      <BitField start="8" size="1" name="ADC1_" description="ADC1" />
+      <BitField start="9" size="1" name="DAC_" description="DAC" />
+      <BitField start="10" size="1" name="I2S_" description="I2S" />
+      <BitField start="11" size="1" name="PCC_" description="PCC" />
+    </Register>
+    <Register start="+0x34" size="4" name="PAC_STATUSA" access="ReadOnly" description="Peripheral write protection status - Bridge A" reset_value="0x00010000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PAC_" description="PAC APB Protect Enable" />
+      <BitField start="1" size="1" name="PM_" description="PM APB Protect Enable" />
+      <BitField start="2" size="1" name="MCLK_" description="MCLK APB Protect Enable" />
+      <BitField start="3" size="1" name="RSTC_" description="RSTC APB Protect Enable" />
+      <BitField start="4" size="1" name="OSCCTRL_" description="OSCCTRL APB Protect Enable" />
+      <BitField start="5" size="1" name="OSC32KCTRL_" description="OSC32KCTRL APB Protect Enable" />
+      <BitField start="6" size="1" name="SUPC_" description="SUPC APB Protect Enable" />
+      <BitField start="7" size="1" name="GCLK_" description="GCLK APB Protect Enable" />
+      <BitField start="8" size="1" name="WDT_" description="WDT APB Protect Enable" />
+      <BitField start="9" size="1" name="RTC_" description="RTC APB Protect Enable" />
+      <BitField start="10" size="1" name="EIC_" description="EIC APB Protect Enable" />
+      <BitField start="11" size="1" name="FREQM_" description="FREQM APB Protect Enable" />
+      <BitField start="12" size="1" name="SERCOM0_" description="SERCOM0 APB Protect Enable" />
+      <BitField start="13" size="1" name="SERCOM1_" description="SERCOM1 APB Protect Enable" />
+      <BitField start="14" size="1" name="TC0_" description="TC0 APB Protect Enable" />
+      <BitField start="15" size="1" name="TC1_" description="TC1 APB Protect Enable" />
+    </Register>
+    <Register start="+0x38" size="4" name="PAC_STATUSB" access="ReadOnly" description="Peripheral write protection status - Bridge B" reset_value="0x00000002" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="USB_" description="USB APB Protect Enable" />
+      <BitField start="1" size="1" name="DSU_" description="DSU APB Protect Enable" />
+      <BitField start="2" size="1" name="NVMCTRL_" description="NVMCTRL APB Protect Enable" />
+      <BitField start="3" size="1" name="CMCC_" description="CMCC APB Protect Enable" />
+      <BitField start="4" size="1" name="PORT_" description="PORT APB Protect Enable" />
+      <BitField start="5" size="1" name="DMAC_" description="DMAC APB Protect Enable" />
+      <BitField start="6" size="1" name="HMATRIX_" description="HMATRIX APB Protect Enable" />
+      <BitField start="7" size="1" name="EVSYS_" description="EVSYS APB Protect Enable" />
+      <BitField start="9" size="1" name="SERCOM2_" description="SERCOM2 APB Protect Enable" />
+      <BitField start="10" size="1" name="SERCOM3_" description="SERCOM3 APB Protect Enable" />
+      <BitField start="11" size="1" name="TCC0_" description="TCC0 APB Protect Enable" />
+      <BitField start="12" size="1" name="TCC1_" description="TCC1 APB Protect Enable" />
+      <BitField start="13" size="1" name="TC2_" description="TC2 APB Protect Enable" />
+      <BitField start="14" size="1" name="TC3_" description="TC3 APB Protect Enable" />
+      <BitField start="15" size="1" name="TAL_" description="TAL APB Protect Enable" />
+      <BitField start="16" size="1" name="RAMECC_" description="RAMECC APB Protect Enable" />
+    </Register>
+    <Register start="+0x3C" size="4" name="PAC_STATUSC" access="ReadOnly" description="Peripheral write protection status - Bridge C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="3" size="1" name="TCC2_" description="TCC2 APB Protect Enable" />
+      <BitField start="4" size="1" name="TCC3_" description="TCC3 APB Protect Enable" />
+      <BitField start="5" size="1" name="TC4_" description="TC4 APB Protect Enable" />
+      <BitField start="6" size="1" name="TC5_" description="TC5 APB Protect Enable" />
+      <BitField start="7" size="1" name="PDEC_" description="PDEC APB Protect Enable" />
+      <BitField start="8" size="1" name="AC_" description="AC APB Protect Enable" />
+      <BitField start="9" size="1" name="AES_" description="AES APB Protect Enable" />
+      <BitField start="10" size="1" name="TRNG_" description="TRNG APB Protect Enable" />
+      <BitField start="11" size="1" name="ICM_" description="ICM APB Protect Enable" />
+      <BitField start="12" size="1" name="PUKCC_" description="PUKCC APB Protect Enable" />
+      <BitField start="13" size="1" name="QSPI_" description="QSPI APB Protect Enable" />
+      <BitField start="14" size="1" name="CCL_" description="CCL APB Protect Enable" />
+    </Register>
+    <Register start="+0x40" size="4" name="PAC_STATUSD" access="ReadOnly" description="Peripheral write protection status - Bridge D" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SERCOM4_" description="SERCOM4 APB Protect Enable" />
+      <BitField start="1" size="1" name="SERCOM5_" description="SERCOM5 APB Protect Enable" />
+      <BitField start="4" size="1" name="TCC4_" description="TCC4 APB Protect Enable" />
+      <BitField start="7" size="1" name="ADC0_" description="ADC0 APB Protect Enable" />
+      <BitField start="8" size="1" name="ADC1_" description="ADC1 APB Protect Enable" />
+      <BitField start="9" size="1" name="DAC_" description="DAC APB Protect Enable" />
+      <BitField start="10" size="1" name="I2S_" description="I2S APB Protect Enable" />
+      <BitField start="11" size="1" name="PCC_" description="PCC APB Protect Enable" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="PCC" start="0x43002C00" description="Parallel Capture Controller">
+    <Register start="+0x00" size="4" name="PCC_MR" access="Read/Write" description="Mode Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PCEN" description="Parallel Capture Enable" />
+      <BitField start="4" size="2" name="DSIZE" description="Data size" />
+      <BitField start="8" size="1" name="SCALE" description="Scale data" />
+      <BitField start="9" size="1" name="ALWYS" description="Always Sampling" />
+      <BitField start="10" size="1" name="HALFS" description="Half Sampling" />
+      <BitField start="11" size="1" name="FRSTS" description="First sample" />
+      <BitField start="16" size="3" name="ISIZE" description="Input Data Size" />
+      <BitField start="30" size="2" name="CID" description="Clear If Disabled" />
+    </Register>
+    <Register start="+0x04" size="4" name="PCC_IER" access="WriteOnly" description="Interrupt Enable Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRDY" description="Data Ready Interrupt Enable" />
+      <BitField start="1" size="1" name="OVRE" description="Overrun Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x08" size="4" name="PCC_IDR" access="WriteOnly" description="Interrupt Disable Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRDY" description="Data Ready Interrupt Disable" />
+      <BitField start="1" size="1" name="OVRE" description="Overrun Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x0C" size="4" name="PCC_IMR" access="ReadOnly" description="Interrupt Mask Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRDY" description="Data Ready Interrupt Mask" />
+      <BitField start="1" size="1" name="OVRE" description="Overrun Error Interrupt Mask" />
+    </Register>
+    <Register start="+0x10" size="4" name="PCC_ISR" access="ReadOnly" description="Interrupt Status Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRDY" description="Data Ready Interrupt Status" />
+      <BitField start="1" size="1" name="OVRE" description="Overrun Error Interrupt Status" />
+    </Register>
+    <Register start="+0x14" size="4" name="PCC_RHR" access="ReadOnly" description="Reception Holding Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="RDATA" description="Reception Data" />
+    </Register>
+    <Register start="+0xE0" size="4" name="PCC_WPMR" access="Read/Write" description="Write Protection Mode Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="WPEN" description="Write Protection Enable" />
+      <BitField start="8" size="24" name="WPKEY" description="Write Protection Key" />
+    </Register>
+    <Register start="+0xE4" size="4" name="PCC_WPSR" access="ReadOnly" description="Write Protection Status Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="WPVS" description="Write Protection Violation Source" />
+      <BitField start="8" size="16" name="WPVSRC" description="Write Protection Violation Status" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="PDEC" start="0x42001C00" description="Quadrature Decodeur">
+    <Register start="+0x00" size="4" name="PDEC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Operation Mode">
+        <Enum name="QDEC" start="0x0" description="QDEC operating mode" />
+        <Enum name="HALL" start="0x1" description="HALL operating mode" />
+        <Enum name="COUNTER" start="0x2" description="COUNTER operating mode" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="8" size="3" name="CONF" description="PDEC Configuration">
+        <Enum name="X4" start="0x0" description="Quadrature decoder direction" />
+        <Enum name="X4S" start="0x1" description="Secure Quadrature decoder direction" />
+        <Enum name="X2" start="0x2" description="Decoder direction" />
+        <Enum name="X2S" start="0x3" description="Secure decoder direction" />
+        <Enum name="AUTOC" start="0x4" description="Auto correction mode" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="14" size="1" name="SWAP" description="PDEC Phase A and B Swap" />
+      <BitField start="15" size="1" name="PEREN" description="Period Enable" />
+      <BitField start="16" size="1" name="PINEN0" description="PDEC Input From Pin 0 Enable" />
+      <BitField start="17" size="1" name="PINEN1" description="PDEC Input From Pin 1 Enable" />
+      <BitField start="18" size="1" name="PINEN2" description="PDEC Input From Pin 2 Enable" />
+      <BitField start="20" size="1" name="PINVEN0" description="IO Pin 0 Invert Enable" />
+      <BitField start="21" size="1" name="PINVEN1" description="IO Pin 1 Invert Enable" />
+      <BitField start="22" size="1" name="PINVEN2" description="IO Pin 2 Invert Enable" />
+      <BitField start="24" size="3" name="ANGULAR" description="Angular Counter Length" />
+      <BitField start="28" size="4" name="MAXCMP" description="Maximum Consecutive Missing Pulses" />
+    </Register>
+    <Register start="+0x04" size="1" name="PDEC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a counter restart or retrigger" />
+        <Enum name="UPDATE" start="0x2" description="Force update of double buffered registers" />
+        <Enum name="READSYNC" start="0x3" description="Force a read synchronization of COUNT" />
+        <Enum name="START" start="0x4" description="Start QDEC/HALL" />
+        <Enum name="STOP" start="0x5" description="Stop QDEC/HALL" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="PDEC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a counter restart or retrigger" />
+        <Enum name="UPDATE" start="0x2" description="Force update of double buffered registers" />
+        <Enum name="READSYNC" start="0x3" description="Force a read synchronization of COUNT" />
+        <Enum name="Start" start="0x4" description="Start QDEC/HALL" />
+        <Enum name="Stop" start="0x5" description="Stop QDEC/HALL" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="PDEC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+      </BitField>
+      <BitField start="2" size="3" name="EVINV" description="Inverted Event Input Enable" />
+      <BitField start="5" size="3" name="EVEI" description="Event Input Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Output Event Enable" />
+      <BitField start="9" size="1" name="ERREO" description="Error  Output Event Enable" />
+      <BitField start="10" size="1" name="DIREO" description="Direction Output Event Enable" />
+      <BitField start="11" size="1" name="VLCEO" description="Velocity Output Event Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="Match Channel 0 Event Output Enable" />
+      <BitField start="13" size="1" name="MCEO1" description="Match Channel 1 Event Output Enable" />
+    </Register>
+    <Register start="+0x08" size="1" name="PDEC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow/Underflow Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Disable" />
+      <BitField start="2" size="1" name="DIR" description="Direction Interrupt Disable" />
+      <BitField start="3" size="1" name="VLC" description="Velocity Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="Channel 0 Compare Match Disable" />
+      <BitField start="5" size="1" name="MC1" description="Channel 1 Compare Match Disable" />
+    </Register>
+    <Register start="+0x09" size="1" name="PDEC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow/Underflow Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="2" size="1" name="DIR" description="Direction Interrupt Enable" />
+      <BitField start="3" size="1" name="VLC" description="Velocity Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="Channel 0 Compare Match Enable" />
+      <BitField start="5" size="1" name="MC1" description="Channel 1 Compare Match Enable" />
+    </Register>
+    <Register start="+0x0A" size="1" name="PDEC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow/Underflow" />
+      <BitField start="1" size="1" name="ERR" description="Error" />
+      <BitField start="2" size="1" name="DIR" description="Direction Change" />
+      <BitField start="3" size="1" name="VLC" description="Velocity" />
+      <BitField start="4" size="1" name="MC0" description="Channel 0 Compare Match" />
+      <BitField start="5" size="1" name="MC1" description="Channel 1 Compare Match" />
+    </Register>
+    <Register start="+0x0C" size="2" name="PDEC_STATUS" access="Read/Write" description="Status" reset_value="0x0040" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="QERR" description="Quadrature Error Flag" />
+      <BitField start="1" size="1" name="IDXERR" description="Index Error Flag" />
+      <BitField start="2" size="1" name="MPERR" description="Missing Pulse Error flag" />
+      <BitField start="4" size="1" name="WINERR" description="Window Error Flag" />
+      <BitField start="5" size="1" name="HERR" description="Hall Error Flag" />
+      <BitField start="6" size="1" name="STOP" description="Stop" />
+      <BitField start="7" size="1" name="DIR" description="Direction Status Flag" />
+      <BitField start="8" size="1" name="PRESCBUFV" description="Prescaler Buffer Valid" />
+      <BitField start="9" size="1" name="FILTERBUFV" description="Filter Buffer Valid" />
+      <BitField start="12" size="1" name="CCBUFV0" description="Compare Channel 0 Buffer Valid" />
+      <BitField start="13" size="1" name="CCBUFV1" description="Compare Channel 1 Buffer Valid" />
+    </Register>
+    <Register start="+0x0F" size="1" name="PDEC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Run Mode" />
+    </Register>
+    <Register start="+0x10" size="4" name="PDEC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="Control B Synchronization Busy" />
+      <BitField start="3" size="1" name="STATUS" description="Status Synchronization Busy" />
+      <BitField start="4" size="1" name="PRESC" description="Prescaler Synchronization Busy" />
+      <BitField start="5" size="1" name="FILTER" description="Filter Synchronization Busy" />
+      <BitField start="6" size="1" name="COUNT" description="Count Synchronization Busy" />
+      <BitField start="7" size="1" name="CC0" description="Compare Channel 0 Synchronization Busy" />
+      <BitField start="8" size="1" name="CC1" description="Compare Channel 1 Synchronization Busy" />
+    </Register>
+    <Register start="+0x14" size="1" name="PDEC_PRESC" access="Read/Write" description="Prescaler Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PRESC" description="Prescaler Value">
+        <Enum name="DIV1" start="0x0" description="No division" />
+        <Enum name="DIV2" start="0x1" description="Divide by 2" />
+        <Enum name="DIV4" start="0x2" description="Divide by 4" />
+        <Enum name="DIV8" start="0x3" description="Divide by 8" />
+        <Enum name="DIV16" start="0x4" description="Divide by 16" />
+        <Enum name="DIV32" start="0x5" description="Divide by 32" />
+        <Enum name="DIV64" start="0x6" description="Divide by 64" />
+        <Enum name="DIV128" start="0x7" description="Divide by 128" />
+        <Enum name="DIV256" start="0x8" description="Divide by 256" />
+        <Enum name="DIV512" start="0x9" description="Divide by 512" />
+        <Enum name="DIV1024" start="0xa" description="Divide by 1024" />
+      </BitField>
+    </Register>
+    <Register start="+0x15" size="1" name="PDEC_FILTER" access="Read/Write" description="Filter Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="FILTER" description="Filter Value" />
+    </Register>
+    <Register start="+0x18" size="1" name="PDEC_PRESCBUF" access="Read/Write" description="Prescaler Buffer Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PRESCBUF" description="Prescaler Buffer Value">
+        <Enum name="DIV1" start="0x0" description="No division" />
+        <Enum name="DIV2" start="0x1" description="Divide by 2" />
+        <Enum name="DIV4" start="0x2" description="Divide by 4" />
+        <Enum name="DIV8" start="0x3" description="Divide by 8" />
+        <Enum name="DIV16" start="0x4" description="Divide by 16" />
+        <Enum name="DIV32" start="0x5" description="Divide by 32" />
+        <Enum name="DIV64" start="0x6" description="Divide by 64" />
+        <Enum name="DIV128" start="0x7" description="Divide by 128" />
+        <Enum name="DIV256" start="0x8" description="Divide by 256" />
+        <Enum name="DIV512" start="0x9" description="Divide by 512" />
+        <Enum name="DIV1024" start="0xa" description="Divide by 1024" />
+      </BitField>
+    </Register>
+    <Register start="+0x19" size="1" name="PDEC_FILTERBUF" access="Read/Write" description="Filter Buffer Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="FILTERBUF" description="Filter Buffer Value" />
+    </Register>
+    <Register start="+0x1C" size="4" name="PDEC_COUNT" access="Read/Write" description="Counter Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x20+0" size="4" name="PDEC_CC0" access="Read/Write" description="Channel n Compare Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Channel Compare Value" />
+    </Register>
+    <Register start="+0x20+4" size="4" name="PDEC_CC1" access="Read/Write" description="Channel n Compare Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Channel Compare Value" />
+    </Register>
+    <Register start="+0x30+0" size="4" name="PDEC_CCBUF0" access="Read/Write" description="Channel Compare Buffer Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CCBUF" description="Channel Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+4" size="4" name="PDEC_CCBUF1" access="Read/Write" description="Channel Compare Buffer Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CCBUF" description="Channel Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="PM" start="0x40000400" description="Power Manager">
+    <Register start="+0x00" size="1" name="PM_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="IORET" description="I/O Retention" />
+    </Register>
+    <Register start="+0x01" size="1" name="PM_SLEEPCFG" access="Read/Write" description="Sleep Configuration" reset_value="0x02" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="SLEEPMODE" description="Sleep Mode">
+        <Enum name="IDLE0" start="0x0" description="CPU clock is OFF" />
+        <Enum name="IDLE1" start="0x1" description="AHB clock is OFF" />
+        <Enum name="IDLE2" start="0x2" description="APB clock are OFF" />
+        <Enum name="STANDBY" start="0x4" description="All Clocks are OFF" />
+        <Enum name="HIBERNATE" start="0x5" description="Backup domain is ON as well as some PDRAMs" />
+        <Enum name="BACKUP" start="0x6" description="Only Backup domain is powered ON" />
+        <Enum name="OFF" start="0x7" description="All power domains are powered OFF" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="PM_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SLEEPRDY" description="Sleep Mode Entry Ready Enable" />
+    </Register>
+    <Register start="+0x05" size="1" name="PM_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SLEEPRDY" description="Sleep Mode Entry Ready Enable" />
+    </Register>
+    <Register start="+0x06" size="1" name="PM_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SLEEPRDY" description="Sleep Mode Entry Ready" />
+    </Register>
+    <Register start="+0x08" size="1" name="PM_STDBYCFG" access="Read/Write" description="Standby Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="RAMCFG" description="Ram Configuration">
+        <Enum name="RET" start="0x0" description="All the RAMs are retained" />
+        <Enum name="PARTIAL" start="0x1" description="Only the first 32K bytes are retained" />
+        <Enum name="OFF" start="0x2" description="All the RAMs are OFF" />
+      </BitField>
+      <BitField start="4" size="2" name="FASTWKUP" description="Fast Wakeup" />
+    </Register>
+    <Register start="+0x09" size="1" name="PM_HIBCFG" access="Read/Write" description="Hibernate Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="RAMCFG" description="Ram Configuration" />
+      <BitField start="2" size="2" name="BRAMCFG" description="Backup Ram Configuration" />
+    </Register>
+    <Register start="+0x0A" size="1" name="PM_BKUPCFG" access="Read/Write" description="Backup Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="BRAMCFG" description="Ram Configuration" />
+    </Register>
+    <Register start="+0x12" size="1" name="PM_PWSAKDLY" access="Read/Write" description="Power Switch Acknowledge Delay" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="DLYVAL" description="Delay Value" />
+      <BitField start="7" size="1" name="IGNACK" description="Ignore Acknowledge" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="PORT" start="0x41008000" description="Port Module">
+    <Register start="+0x00+0" size="4" name="PORT_DIR0" access="Read/Write" description="Data Direction" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DIR" description="Port Data Direction" />
+    </Register>
+    <Register start="+0x00+128" size="4" name="PORT_DIR1" access="Read/Write" description="Data Direction" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DIR" description="Port Data Direction" />
+    </Register>
+    <Register start="+0x04+0" size="4" name="PORT_DIRCLR0" access="Read/Write" description="Data Direction Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DIRCLR" description="Port Data Direction Clear" />
+    </Register>
+    <Register start="+0x04+128" size="4" name="PORT_DIRCLR1" access="Read/Write" description="Data Direction Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DIRCLR" description="Port Data Direction Clear" />
+    </Register>
+    <Register start="+0x08+0" size="4" name="PORT_DIRSET0" access="Read/Write" description="Data Direction Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DIRSET" description="Port Data Direction Set" />
+    </Register>
+    <Register start="+0x08+128" size="4" name="PORT_DIRSET1" access="Read/Write" description="Data Direction Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DIRSET" description="Port Data Direction Set" />
+    </Register>
+    <Register start="+0x0C+0" size="4" name="PORT_DIRTGL0" access="Read/Write" description="Data Direction Toggle" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DIRTGL" description="Port Data Direction Toggle" />
+    </Register>
+    <Register start="+0x0C+128" size="4" name="PORT_DIRTGL1" access="Read/Write" description="Data Direction Toggle" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DIRTGL" description="Port Data Direction Toggle" />
+    </Register>
+    <Register start="+0x10+0" size="4" name="PORT_OUT0" access="Read/Write" description="Data Output Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="OUT" description="PORT Data Output Value" />
+    </Register>
+    <Register start="+0x10+128" size="4" name="PORT_OUT1" access="Read/Write" description="Data Output Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="OUT" description="PORT Data Output Value" />
+    </Register>
+    <Register start="+0x14+0" size="4" name="PORT_OUTCLR0" access="Read/Write" description="Data Output Value Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="OUTCLR" description="PORT Data Output Value Clear" />
+    </Register>
+    <Register start="+0x14+128" size="4" name="PORT_OUTCLR1" access="Read/Write" description="Data Output Value Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="OUTCLR" description="PORT Data Output Value Clear" />
+    </Register>
+    <Register start="+0x18+0" size="4" name="PORT_OUTSET0" access="Read/Write" description="Data Output Value Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="OUTSET" description="PORT Data Output Value Set" />
+    </Register>
+    <Register start="+0x18+128" size="4" name="PORT_OUTSET1" access="Read/Write" description="Data Output Value Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="OUTSET" description="PORT Data Output Value Set" />
+    </Register>
+    <Register start="+0x1C+0" size="4" name="PORT_OUTTGL0" access="Read/Write" description="Data Output Value Toggle" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="OUTTGL" description="PORT Data Output Value Toggle" />
+    </Register>
+    <Register start="+0x1C+128" size="4" name="PORT_OUTTGL1" access="Read/Write" description="Data Output Value Toggle" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="OUTTGL" description="PORT Data Output Value Toggle" />
+    </Register>
+    <Register start="+0x20+0" size="4" name="PORT_IN0" access="ReadOnly" description="Data Input Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="IN" description="PORT Data Input Value" />
+    </Register>
+    <Register start="+0x20+128" size="4" name="PORT_IN1" access="ReadOnly" description="Data Input Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="IN" description="PORT Data Input Value" />
+    </Register>
+    <Register start="+0x24+0" size="4" name="PORT_CTRL0" access="Read/Write" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SAMPLING" description="Input Sampling Mode" />
+    </Register>
+    <Register start="+0x24+128" size="4" name="PORT_CTRL1" access="Read/Write" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="SAMPLING" description="Input Sampling Mode" />
+    </Register>
+    <Register start="+0x28+0" size="4" name="PORT_WRCONFIG0" access="WriteOnly" description="Write Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="PINMASK" description="Pin Mask for Multiple Pin Configuration" />
+      <BitField start="16" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="17" size="1" name="INEN" description="Input Enable" />
+      <BitField start="18" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="22" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+      <BitField start="24" size="4" name="PMUX" description="Peripheral Multiplexing" />
+      <BitField start="28" size="1" name="WRPMUX" description="Write PMUX" />
+      <BitField start="30" size="1" name="WRPINCFG" description="Write PINCFG" />
+      <BitField start="31" size="1" name="HWSEL" description="Half-Word Select" />
+    </Register>
+    <Register start="+0x28+128" size="4" name="PORT_WRCONFIG1" access="WriteOnly" description="Write Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="PINMASK" description="Pin Mask for Multiple Pin Configuration" />
+      <BitField start="16" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="17" size="1" name="INEN" description="Input Enable" />
+      <BitField start="18" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="22" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+      <BitField start="24" size="4" name="PMUX" description="Peripheral Multiplexing" />
+      <BitField start="28" size="1" name="WRPMUX" description="Write PMUX" />
+      <BitField start="30" size="1" name="WRPINCFG" description="Write PINCFG" />
+      <BitField start="31" size="1" name="HWSEL" description="Half-Word Select" />
+    </Register>
+    <Register start="+0x2C+0" size="4" name="PORT_EVCTRL0" access="Read/Write" description="Event Input Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="PID0" description="PORT Event Pin Identifier 0" />
+      <BitField start="5" size="2" name="EVACT0" description="PORT Event Action 0">
+        <Enum name="OUT" start="0x0" description="Event output to pin" />
+        <Enum name="SET" start="0x1" description="Set output register of pin on event" />
+        <Enum name="CLR" start="0x2" description="Clear output register of pin on event" />
+        <Enum name="TGL" start="0x3" description="Toggle output register of pin on event" />
+      </BitField>
+      <BitField start="7" size="1" name="PORTEI0" description="PORT Event Input Enable 0" />
+      <BitField start="8" size="5" name="PID1" description="PORT Event Pin Identifier 1" />
+      <BitField start="13" size="2" name="EVACT1" description="PORT Event Action 1" />
+      <BitField start="15" size="1" name="PORTEI1" description="PORT Event Input Enable 1" />
+      <BitField start="16" size="5" name="PID2" description="PORT Event Pin Identifier 2" />
+      <BitField start="21" size="2" name="EVACT2" description="PORT Event Action 2" />
+      <BitField start="23" size="1" name="PORTEI2" description="PORT Event Input Enable 2" />
+      <BitField start="24" size="5" name="PID3" description="PORT Event Pin Identifier 3" />
+      <BitField start="29" size="2" name="EVACT3" description="PORT Event Action 3" />
+      <BitField start="31" size="1" name="PORTEI3" description="PORT Event Input Enable 3" />
+    </Register>
+    <Register start="+0x2C+128" size="4" name="PORT_EVCTRL1" access="Read/Write" description="Event Input Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="PID0" description="PORT Event Pin Identifier 0" />
+      <BitField start="5" size="2" name="EVACT0" description="PORT Event Action 0">
+        <Enum name="OUT" start="0x0" description="Event output to pin" />
+        <Enum name="SET" start="0x1" description="Set output register of pin on event" />
+        <Enum name="CLR" start="0x2" description="Clear output register of pin on event" />
+        <Enum name="TGL" start="0x3" description="Toggle output register of pin on event" />
+      </BitField>
+      <BitField start="7" size="1" name="PORTEI0" description="PORT Event Input Enable 0" />
+      <BitField start="8" size="5" name="PID1" description="PORT Event Pin Identifier 1" />
+      <BitField start="13" size="2" name="EVACT1" description="PORT Event Action 1" />
+      <BitField start="15" size="1" name="PORTEI1" description="PORT Event Input Enable 1" />
+      <BitField start="16" size="5" name="PID2" description="PORT Event Pin Identifier 2" />
+      <BitField start="21" size="2" name="EVACT2" description="PORT Event Action 2" />
+      <BitField start="23" size="1" name="PORTEI2" description="PORT Event Input Enable 2" />
+      <BitField start="24" size="5" name="PID3" description="PORT Event Pin Identifier 3" />
+      <BitField start="29" size="2" name="EVACT3" description="PORT Event Action 3" />
+      <BitField start="31" size="1" name="PORTEI3" description="PORT Event Input Enable 3" />
+    </Register>
+    <Register start="+0x30+0" size="1" name="PORT_PMUX0_0" access="Read/Write" description="Peripheral Multiplexing - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0x30+1" size="1" name="PORT_PMUX0_1" access="Read/Write" description="Peripheral Multiplexing - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0x30+2" size="1" name="PORT_PMUX0_2" access="Read/Write" description="Peripheral Multiplexing - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0x30+3" size="1" name="PORT_PMUX0_3" access="Read/Write" description="Peripheral Multiplexing - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0x30+4" size="1" name="PORT_PMUX0_4" access="Read/Write" description="Peripheral Multiplexing - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0x30+5" size="1" name="PORT_PMUX0_5" access="Read/Write" description="Peripheral Multiplexing - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0x30+6" size="1" name="PORT_PMUX0_6" access="Read/Write" description="Peripheral Multiplexing - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0x30+7" size="1" name="PORT_PMUX0_7" access="Read/Write" description="Peripheral Multiplexing - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0x30+8" size="1" name="PORT_PMUX0_8" access="Read/Write" description="Peripheral Multiplexing - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0x30+9" size="1" name="PORT_PMUX0_9" access="Read/Write" description="Peripheral Multiplexing - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0x30+10" size="1" name="PORT_PMUX0_10" access="Read/Write" description="Peripheral Multiplexing - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0x30+11" size="1" name="PORT_PMUX0_11" access="Read/Write" description="Peripheral Multiplexing - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0x30+12" size="1" name="PORT_PMUX0_12" access="Read/Write" description="Peripheral Multiplexing - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0x30+13" size="1" name="PORT_PMUX0_13" access="Read/Write" description="Peripheral Multiplexing - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0x30+14" size="1" name="PORT_PMUX0_14" access="Read/Write" description="Peripheral Multiplexing - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0x30+15" size="1" name="PORT_PMUX0_15" access="Read/Write" description="Peripheral Multiplexing - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0xb0+0" size="1" name="PORT_PMUX1_0" access="Read/Write" description="Peripheral Multiplexing - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0xb0+1" size="1" name="PORT_PMUX1_1" access="Read/Write" description="Peripheral Multiplexing - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0xb0+2" size="1" name="PORT_PMUX1_2" access="Read/Write" description="Peripheral Multiplexing - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0xb0+3" size="1" name="PORT_PMUX1_3" access="Read/Write" description="Peripheral Multiplexing - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0xb0+4" size="1" name="PORT_PMUX1_4" access="Read/Write" description="Peripheral Multiplexing - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0xb0+5" size="1" name="PORT_PMUX1_5" access="Read/Write" description="Peripheral Multiplexing - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0xb0+6" size="1" name="PORT_PMUX1_6" access="Read/Write" description="Peripheral Multiplexing - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0xb0+7" size="1" name="PORT_PMUX1_7" access="Read/Write" description="Peripheral Multiplexing - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0xb0+8" size="1" name="PORT_PMUX1_8" access="Read/Write" description="Peripheral Multiplexing - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0xb0+9" size="1" name="PORT_PMUX1_9" access="Read/Write" description="Peripheral Multiplexing - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0xb0+10" size="1" name="PORT_PMUX1_10" access="Read/Write" description="Peripheral Multiplexing - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0xb0+11" size="1" name="PORT_PMUX1_11" access="Read/Write" description="Peripheral Multiplexing - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0xb0+12" size="1" name="PORT_PMUX1_12" access="Read/Write" description="Peripheral Multiplexing - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0xb0+13" size="1" name="PORT_PMUX1_13" access="Read/Write" description="Peripheral Multiplexing - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0xb0+14" size="1" name="PORT_PMUX1_14" access="Read/Write" description="Peripheral Multiplexing - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0xb0+15" size="1" name="PORT_PMUX1_15" access="Read/Write" description="Peripheral Multiplexing - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PMUXE" description="Peripheral Multiplexing for Even-Numbered Pin" />
+      <BitField start="4" size="4" name="PMUXO" description="Peripheral Multiplexing for Odd-Numbered Pin" />
+    </Register>
+    <Register start="+0x40+0" size="1" name="PORT_PINCFG0_0" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+1" size="1" name="PORT_PINCFG0_1" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+2" size="1" name="PORT_PINCFG0_2" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+3" size="1" name="PORT_PINCFG0_3" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+4" size="1" name="PORT_PINCFG0_4" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+5" size="1" name="PORT_PINCFG0_5" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+6" size="1" name="PORT_PINCFG0_6" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+7" size="1" name="PORT_PINCFG0_7" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+8" size="1" name="PORT_PINCFG0_8" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+9" size="1" name="PORT_PINCFG0_9" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+10" size="1" name="PORT_PINCFG0_10" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+11" size="1" name="PORT_PINCFG0_11" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+12" size="1" name="PORT_PINCFG0_12" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+13" size="1" name="PORT_PINCFG0_13" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+14" size="1" name="PORT_PINCFG0_14" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+15" size="1" name="PORT_PINCFG0_15" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+16" size="1" name="PORT_PINCFG0_16" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+17" size="1" name="PORT_PINCFG0_17" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+18" size="1" name="PORT_PINCFG0_18" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+19" size="1" name="PORT_PINCFG0_19" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+20" size="1" name="PORT_PINCFG0_20" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+21" size="1" name="PORT_PINCFG0_21" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+22" size="1" name="PORT_PINCFG0_22" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+23" size="1" name="PORT_PINCFG0_23" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+24" size="1" name="PORT_PINCFG0_24" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+25" size="1" name="PORT_PINCFG0_25" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+26" size="1" name="PORT_PINCFG0_26" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+27" size="1" name="PORT_PINCFG0_27" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+28" size="1" name="PORT_PINCFG0_28" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+29" size="1" name="PORT_PINCFG0_29" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+30" size="1" name="PORT_PINCFG0_30" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0x40+31" size="1" name="PORT_PINCFG0_31" access="Read/Write" description="Pin Configuration - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+0" size="1" name="PORT_PINCFG1_0" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+1" size="1" name="PORT_PINCFG1_1" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+2" size="1" name="PORT_PINCFG1_2" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+3" size="1" name="PORT_PINCFG1_3" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+4" size="1" name="PORT_PINCFG1_4" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+5" size="1" name="PORT_PINCFG1_5" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+6" size="1" name="PORT_PINCFG1_6" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+7" size="1" name="PORT_PINCFG1_7" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+8" size="1" name="PORT_PINCFG1_8" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+9" size="1" name="PORT_PINCFG1_9" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+10" size="1" name="PORT_PINCFG1_10" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+11" size="1" name="PORT_PINCFG1_11" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+12" size="1" name="PORT_PINCFG1_12" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+13" size="1" name="PORT_PINCFG1_13" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+14" size="1" name="PORT_PINCFG1_14" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+15" size="1" name="PORT_PINCFG1_15" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+16" size="1" name="PORT_PINCFG1_16" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+17" size="1" name="PORT_PINCFG1_17" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+18" size="1" name="PORT_PINCFG1_18" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+19" size="1" name="PORT_PINCFG1_19" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+20" size="1" name="PORT_PINCFG1_20" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+21" size="1" name="PORT_PINCFG1_21" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+22" size="1" name="PORT_PINCFG1_22" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+23" size="1" name="PORT_PINCFG1_23" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+24" size="1" name="PORT_PINCFG1_24" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+25" size="1" name="PORT_PINCFG1_25" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+26" size="1" name="PORT_PINCFG1_26" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+27" size="1" name="PORT_PINCFG1_27" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+28" size="1" name="PORT_PINCFG1_28" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+29" size="1" name="PORT_PINCFG1_29" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+30" size="1" name="PORT_PINCFG1_30" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+    <Register start="+0xc0+31" size="1" name="PORT_PINCFG1_31" access="Read/Write" description="Pin Configuration - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PMUXEN" description="Peripheral Multiplexer Enable" />
+      <BitField start="1" size="1" name="INEN" description="Input Enable" />
+      <BitField start="2" size="1" name="PULLEN" description="Pull Enable" />
+      <BitField start="6" size="1" name="DRVSTR" description="Output Driver Strength Selection" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="QSPI" start="0x42003400" description="Quad SPI interface">
+    <Register start="+0x00" size="4" name="QSPI_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="24" size="1" name="LASTXFER" description="Last Transfer" />
+    </Register>
+    <Register start="+0x04" size="4" name="QSPI_CTRLB" access="Read/Write" description="Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MODE" description="Serial Memory Mode">
+        <Enum name="SPI" start="0x0" description="SPI operating mode" />
+        <Enum name="MEMORY" start="0x1" description="Serial Memory operating mode" />
+      </BitField>
+      <BitField start="1" size="1" name="LOOPEN" description="Local Loopback Enable" />
+      <BitField start="2" size="1" name="WDRBT" description="Wait Data Read Before Transfer" />
+      <BitField start="3" size="1" name="SMEMREG" description="Serial Memory reg" />
+      <BitField start="4" size="2" name="CSMODE" description="Chip Select Mode">
+        <Enum name="NORELOAD" start="0x0" description="The chip select is deasserted if TD has not been reloaded before the end of the current transfer." />
+        <Enum name="LASTXFER" start="0x1" description="The chip select is deasserted when the bit LASTXFER is written at 1 and the character written in TD has been transferred." />
+        <Enum name="SYSTEMATICALLY" start="0x2" description="The chip select is deasserted systematically after each transfer." />
+      </BitField>
+      <BitField start="8" size="4" name="DATALEN" description="Data Length">
+        <Enum name="8BITS" start="0x0" description="8-bits transfer" />
+        <Enum name="9BITS" start="0x1" description="9 bits transfer" />
+        <Enum name="10BITS" start="0x2" description="10-bits transfer" />
+        <Enum name="11BITS" start="0x3" description="11-bits transfer" />
+        <Enum name="12BITS" start="0x4" description="12-bits transfer" />
+        <Enum name="13BITS" start="0x5" description="13-bits transfer" />
+        <Enum name="14BITS" start="0x6" description="14-bits transfer" />
+        <Enum name="15BITS" start="0x7" description="15-bits transfer" />
+        <Enum name="16BITS" start="0x8" description="16-bits transfer" />
+      </BitField>
+      <BitField start="16" size="8" name="DLYBCT" description="Delay Between Consecutive Transfers" />
+      <BitField start="24" size="8" name="DLYCS" description="Minimum Inactive CS Delay" />
+    </Register>
+    <Register start="+0x08" size="4" name="QSPI_BAUD" access="Read/Write" description="Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="1" size="1" name="CPHA" description="Clock Phase" />
+      <BitField start="8" size="8" name="BAUD" description="Serial Clock Baud Rate" />
+      <BitField start="16" size="8" name="DLYBS" description="Delay Before SCK" />
+    </Register>
+    <Register start="+0x0C" size="4" name="QSPI_RXDATA" access="ReadOnly" description="Receive Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="DATA" description="Receive Data" />
+    </Register>
+    <Register start="+0x10" size="4" name="QSPI_TXDATA" access="WriteOnly" description="Transmit Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="DATA" description="Transmit Data" />
+    </Register>
+    <Register start="+0x14" size="4" name="QSPI_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RXC" description="Receive Data Register Full Interrupt Disable" />
+      <BitField start="1" size="1" name="DRE" description="Transmit Data Register Empty Interrupt Disable" />
+      <BitField start="2" size="1" name="TXC" description="Transmission Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="ERROR" description="Overrun Error Interrupt Disable" />
+      <BitField start="8" size="1" name="CSRISE" description="Chip Select Rise Interrupt Disable" />
+      <BitField start="10" size="1" name="INSTREND" description="Instruction End Interrupt Disable" />
+    </Register>
+    <Register start="+0x18" size="4" name="QSPI_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RXC" description="Receive Data Register Full Interrupt Enable" />
+      <BitField start="1" size="1" name="DRE" description="Transmit Data Register Empty Interrupt Enable" />
+      <BitField start="2" size="1" name="TXC" description="Transmission Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="ERROR" description="Overrun Error Interrupt Enable" />
+      <BitField start="8" size="1" name="CSRISE" description="Chip Select Rise Interrupt Enable" />
+      <BitField start="10" size="1" name="INSTREND" description="Instruction End Interrupt Enable" />
+    </Register>
+    <Register start="+0x1C" size="4" name="QSPI_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RXC" description="Receive Data Register Full" />
+      <BitField start="1" size="1" name="DRE" description="Transmit Data Register Empty" />
+      <BitField start="2" size="1" name="TXC" description="Transmission Complete" />
+      <BitField start="3" size="1" name="ERROR" description="Overrun Error" />
+      <BitField start="8" size="1" name="CSRISE" description="Chip Select Rise" />
+      <BitField start="10" size="1" name="INSTREND" description="Instruction End" />
+    </Register>
+    <Register start="+0x20" size="4" name="QSPI_STATUS" access="ReadOnly" description="Status Register" reset_value="0x00000200" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="9" size="1" name="CSSTATUS" description="Chip Select" />
+    </Register>
+    <Register start="+0x30" size="4" name="QSPI_INSTRADDR" access="Read/Write" description="Instruction Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="ADDR" description="Instruction Address" />
+    </Register>
+    <Register start="+0x34" size="4" name="QSPI_INSTRCTRL" access="Read/Write" description="Instruction Code" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="INSTR" description="Instruction Code" />
+      <BitField start="16" size="8" name="OPTCODE" description="Option Code" />
+    </Register>
+    <Register start="+0x38" size="4" name="QSPI_INSTRFRAME" access="Read/Write" description="Instruction Frame" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="WIDTH" description="Instruction Code, Address, Option Code and Data Width">
+        <Enum name="SINGLE_BIT_SPI" start="0x0" description="Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Single-bit SPI" />
+        <Enum name="DUAL_OUTPUT" start="0x1" description="Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Dual SPI" />
+        <Enum name="QUAD_OUTPUT" start="0x2" description="Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Quad SPI" />
+        <Enum name="DUAL_IO" start="0x3" description="Instruction: Single-bit SPI / Address-Option: Dual SPI / Data: Dual SPI" />
+        <Enum name="QUAD_IO" start="0x4" description="Instruction: Single-bit SPI / Address-Option: Quad SPI / Data: Quad SPI" />
+        <Enum name="DUAL_CMD" start="0x5" description="Instruction: Dual SPI / Address-Option: Dual SPI / Data: Dual SPI" />
+        <Enum name="QUAD_CMD" start="0x6" description="Instruction: Quad SPI / Address-Option: Quad SPI / Data: Quad SPI" />
+      </BitField>
+      <BitField start="4" size="1" name="INSTREN" description="Instruction Enable" />
+      <BitField start="5" size="1" name="ADDREN" description="Address Enable" />
+      <BitField start="6" size="1" name="OPTCODEEN" description="Option Enable" />
+      <BitField start="7" size="1" name="DATAEN" description="Data Enable" />
+      <BitField start="8" size="2" name="OPTCODELEN" description="Option Code Length">
+        <Enum name="1BIT" start="0x0" description="1-bit length option code" />
+        <Enum name="2BITS" start="0x1" description="2-bits length option code" />
+        <Enum name="4BITS" start="0x2" description="4-bits length option code" />
+        <Enum name="8BITS" start="0x3" description="8-bits length option code" />
+      </BitField>
+      <BitField start="10" size="1" name="ADDRLEN" description="Address Length">
+        <Enum name="24BITS" start="0x0" description="24-bits address length" />
+        <Enum name="32BITS" start="0x1" description="32-bits address length" />
+      </BitField>
+      <BitField start="12" size="2" name="TFRTYPE" description="Data Transfer Type">
+        <Enum name="READ" start="0x0" description="Read transfer from the serial memory.Scrambling is not performed.Read at random location (fetch) in the serial flash memory is not possible." />
+        <Enum name="READMEMORY" start="0x1" description="Read data transfer from the serial memory.If enabled, scrambling is performed.Read at random location (fetch) in the serial flash memory is possible." />
+        <Enum name="WRITE" start="0x2" description="Write transfer into the serial memory.Scrambling is not performed." />
+        <Enum name="WRITEMEMORY" start="0x3" description="Write data transfer into the serial memory.If enabled, scrambling is performed." />
+      </BitField>
+      <BitField start="14" size="1" name="CRMODE" description="Continuous Read Mode" />
+      <BitField start="15" size="1" name="DDREN" description="Double Data Rate Enable" />
+      <BitField start="16" size="5" name="DUMMYLEN" description="Dummy Cycles Length" />
+    </Register>
+    <Register start="+0x40" size="4" name="QSPI_SCRAMBCTRL" access="Read/Write" description="Scrambling Mode" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ENABLE" description="Scrambling/Unscrambling Enable" />
+      <BitField start="1" size="1" name="RANDOMDIS" description="Scrambling/Unscrambling Random Value Disable" />
+    </Register>
+    <Register start="+0x44" size="4" name="QSPI_SCRAMBKEY" access="WriteOnly" description="Scrambling Key" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="KEY" description="Scrambling User Key" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="RAMECC" start="0x41020000" description="RAM ECC">
+    <Register start="+0x0" size="1" name="RAMECC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SINGLEE" description="Single Bit ECC Error Interrupt Enable Clear" />
+      <BitField start="1" size="1" name="DUALE" description="Dual Bit ECC Error Interrupt Enable Clear" />
+    </Register>
+    <Register start="+0x1" size="1" name="RAMECC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SINGLEE" description="Single Bit ECC Error Interrupt Enable Set" />
+      <BitField start="1" size="1" name="DUALE" description="Dual Bit ECC Error Interrupt Enable Set" />
+    </Register>
+    <Register start="+0x2" size="1" name="RAMECC_INTFLAG" access="Read/Write" description="Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SINGLEE" description="Single Bit ECC Error Interrupt" />
+      <BitField start="1" size="1" name="DUALE" description="Dual Bit ECC Error Interrupt" />
+    </Register>
+    <Register start="+0x3" size="1" name="RAMECC_STATUS" access="ReadOnly" description="Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ECCDIS" description="ECC Disable" />
+    </Register>
+    <Register start="+0x4" size="4" name="RAMECC_ERRADDR" access="ReadOnly" description="Error Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="17" name="ERRADDR" description="Error Address" />
+    </Register>
+    <Register start="+0xF" size="1" name="RAMECC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ECCDIS" description="ECC Disable" />
+      <BitField start="1" size="1" name="ECCELOG" description="ECC Error Log" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="RSTC" start="0x40000C00" description="Reset Controller">
+    <Register start="+0x00" size="1" name="RSTC_RCAUSE" access="ReadOnly" description="Reset Cause" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="POR" description="Power On Reset" />
+      <BitField start="1" size="1" name="BODCORE" description="Brown Out CORE Detector Reset" />
+      <BitField start="2" size="1" name="BODVDD" description="Brown Out VDD Detector Reset" />
+      <BitField start="3" size="1" name="NVM" description="NVM Reset" />
+      <BitField start="4" size="1" name="EXT" description="External Reset" />
+      <BitField start="5" size="1" name="WDT" description="Watchdog Reset" />
+      <BitField start="6" size="1" name="SYST" description="System Reset Request" />
+      <BitField start="7" size="1" name="BACKUP" description="Backup Reset" />
+    </Register>
+    <Register start="+0x02" size="1" name="RSTC_BKUPEXIT" access="ReadOnly" description="Backup Exit Source" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="RTC" description="Real Timer Counter Interrupt" />
+      <BitField start="2" size="1" name="BBPS" description="Battery Backup Power Switch" />
+      <BitField start="7" size="1" name="HIB" description="Hibernate" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="RTC (MODE0)" start="0x40002400" description="Real-Time Counter">
+    <Register start="+0x00" size="2" name="RTC_CTRLA" access="Read/Write" description="MODE0 Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Operating Mode">
+        <Enum name="COUNT32" start="0x0" description="Mode 0: 32-bit Counter" />
+        <Enum name="COUNT16" start="0x1" description="Mode 1: 16-bit Counter" />
+        <Enum name="CLOCK" start="0x2" description="Mode 2: Clock/Calendar" />
+      </BitField>
+      <BitField start="7" size="1" name="MATCHCLR" description="Clear on Match" />
+      <BitField start="8" size="4" name="PRESCALER" description="Prescaler">
+        <Enum name="OFF" start="0x0" description="CLK_RTC_CNT = GCLK_RTC/1" />
+        <Enum name="DIV1" start="0x1" description="CLK_RTC_CNT = GCLK_RTC/1" />
+        <Enum name="DIV2" start="0x2" description="CLK_RTC_CNT = GCLK_RTC/2" />
+        <Enum name="DIV4" start="0x3" description="CLK_RTC_CNT = GCLK_RTC/4" />
+        <Enum name="DIV8" start="0x4" description="CLK_RTC_CNT = GCLK_RTC/8" />
+        <Enum name="DIV16" start="0x5" description="CLK_RTC_CNT = GCLK_RTC/16" />
+        <Enum name="DIV32" start="0x6" description="CLK_RTC_CNT = GCLK_RTC/32" />
+        <Enum name="DIV64" start="0x7" description="CLK_RTC_CNT = GCLK_RTC/64" />
+        <Enum name="DIV128" start="0x8" description="CLK_RTC_CNT = GCLK_RTC/128" />
+        <Enum name="DIV256" start="0x9" description="CLK_RTC_CNT = GCLK_RTC/256" />
+        <Enum name="DIV512" start="0xa" description="CLK_RTC_CNT = GCLK_RTC/512" />
+        <Enum name="DIV1024" start="0xb" description="CLK_RTC_CNT = GCLK_RTC/1024" />
+      </BitField>
+      <BitField start="13" size="1" name="BKTRST" description="BKUP Registers Reset On Tamper Enable" />
+      <BitField start="14" size="1" name="GPTRST" description="GP Registers Reset On Tamper Enable" />
+      <BitField start="15" size="1" name="COUNTSYNC" description="Count Read Synchronization Enable" />
+    </Register>
+    <Register start="+0x02" size="2" name="RTC_CTRLB" access="Read/Write" description="MODE0 Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="GP0EN" description="General Purpose 0 Enable" />
+      <BitField start="1" size="1" name="GP2EN" description="General Purpose 2 Enable" />
+      <BitField start="4" size="1" name="DEBMAJ" description="Debouncer Majority Enable" />
+      <BitField start="5" size="1" name="DEBASYNC" description="Debouncer Asynchronous Enable" />
+      <BitField start="6" size="1" name="RTCOUT" description="RTC Output Enable" />
+      <BitField start="7" size="1" name="DMAEN" description="DMA Enable" />
+      <BitField start="8" size="3" name="DEBF" description="Debounce Freqnuency">
+        <Enum name="DIV2" start="0x0" description="CLK_RTC_DEB = CLK_RTC/2" />
+        <Enum name="DIV4" start="0x1" description="CLK_RTC_DEB = CLK_RTC/4" />
+        <Enum name="DIV8" start="0x2" description="CLK_RTC_DEB = CLK_RTC/8" />
+        <Enum name="DIV16" start="0x3" description="CLK_RTC_DEB = CLK_RTC/16" />
+        <Enum name="DIV32" start="0x4" description="CLK_RTC_DEB = CLK_RTC/32" />
+        <Enum name="DIV64" start="0x5" description="CLK_RTC_DEB = CLK_RTC/64" />
+        <Enum name="DIV128" start="0x6" description="CLK_RTC_DEB = CLK_RTC/128" />
+        <Enum name="DIV256" start="0x7" description="CLK_RTC_DEB = CLK_RTC/256" />
+      </BitField>
+      <BitField start="12" size="3" name="ACTF" description="Active Layer Freqnuency">
+        <Enum name="DIV2" start="0x0" description="CLK_RTC_OUT = CLK_RTC/2" />
+        <Enum name="DIV4" start="0x1" description="CLK_RTC_OUT = CLK_RTC/4" />
+        <Enum name="DIV8" start="0x2" description="CLK_RTC_OUT = CLK_RTC/8" />
+        <Enum name="DIV16" start="0x3" description="CLK_RTC_OUT = CLK_RTC/16" />
+        <Enum name="DIV32" start="0x4" description="CLK_RTC_OUT = CLK_RTC/32" />
+        <Enum name="DIV64" start="0x5" description="CLK_RTC_OUT = CLK_RTC/64" />
+        <Enum name="DIV128" start="0x6" description="CLK_RTC_OUT = CLK_RTC/128" />
+        <Enum name="DIV256" start="0x7" description="CLK_RTC_OUT = CLK_RTC/256" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="4" name="RTC_EVCTRL" access="Read/Write" description="MODE0 Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEREO0" description="Periodic Interval 0 Event Output Enable" />
+      <BitField start="1" size="1" name="PEREO1" description="Periodic Interval 1 Event Output Enable" />
+      <BitField start="2" size="1" name="PEREO2" description="Periodic Interval 2 Event Output Enable" />
+      <BitField start="3" size="1" name="PEREO3" description="Periodic Interval 3 Event Output Enable" />
+      <BitField start="4" size="1" name="PEREO4" description="Periodic Interval 4 Event Output Enable" />
+      <BitField start="5" size="1" name="PEREO5" description="Periodic Interval 5 Event Output Enable" />
+      <BitField start="6" size="1" name="PEREO6" description="Periodic Interval 6 Event Output Enable" />
+      <BitField start="7" size="1" name="PEREO7" description="Periodic Interval 7 Event Output Enable" />
+      <BitField start="8" size="1" name="CMPEO0" description="Compare 0 Event Output Enable" />
+      <BitField start="9" size="1" name="CMPEO1" description="Compare 1 Event Output Enable" />
+      <BitField start="14" size="1" name="TAMPEREO" description="Tamper Event Output Enable" />
+      <BitField start="15" size="1" name="OVFEO" description="Overflow Event Output Enable" />
+      <BitField start="16" size="1" name="TAMPEVEI" description="Tamper Event Input Enable" />
+    </Register>
+    <Register start="+0x08" size="2" name="RTC_INTENCLR" access="Read/Write" description="MODE0 Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PER0" description="Periodic Interval 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="PER1" description="Periodic Interval 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="PER2" description="Periodic Interval 2 Interrupt Enable" />
+      <BitField start="3" size="1" name="PER3" description="Periodic Interval 3 Interrupt Enable" />
+      <BitField start="4" size="1" name="PER4" description="Periodic Interval 4 Interrupt Enable" />
+      <BitField start="5" size="1" name="PER5" description="Periodic Interval 5 Interrupt Enable" />
+      <BitField start="6" size="1" name="PER6" description="Periodic Interval 6 Interrupt Enable" />
+      <BitField start="7" size="1" name="PER7" description="Periodic Interval 7 Interrupt Enable" />
+      <BitField start="8" size="1" name="CMP0" description="Compare 0 Interrupt Enable" />
+      <BitField start="9" size="1" name="CMP1" description="Compare 1 Interrupt Enable" />
+      <BitField start="14" size="1" name="TAMPER" description="Tamper Enable" />
+      <BitField start="15" size="1" name="OVF" description="Overflow Interrupt Enable" />
+    </Register>
+    <Register start="+0x0A" size="2" name="RTC_INTENSET" access="Read/Write" description="MODE0 Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PER0" description="Periodic Interval 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="PER1" description="Periodic Interval 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="PER2" description="Periodic Interval 2 Interrupt Enable" />
+      <BitField start="3" size="1" name="PER3" description="Periodic Interval 3 Interrupt Enable" />
+      <BitField start="4" size="1" name="PER4" description="Periodic Interval 4 Interrupt Enable" />
+      <BitField start="5" size="1" name="PER5" description="Periodic Interval 5 Interrupt Enable" />
+      <BitField start="6" size="1" name="PER6" description="Periodic Interval 6 Interrupt Enable" />
+      <BitField start="7" size="1" name="PER7" description="Periodic Interval 7 Interrupt Enable" />
+      <BitField start="8" size="1" name="CMP0" description="Compare 0 Interrupt Enable" />
+      <BitField start="9" size="1" name="CMP1" description="Compare 1 Interrupt Enable" />
+      <BitField start="14" size="1" name="TAMPER" description="Tamper Enable" />
+      <BitField start="15" size="1" name="OVF" description="Overflow Interrupt Enable" />
+    </Register>
+    <Register start="+0x0C" size="2" name="RTC_INTFLAG" access="Read/Write" description="MODE0 Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PER0" description="Periodic Interval 0" />
+      <BitField start="1" size="1" name="PER1" description="Periodic Interval 1" />
+      <BitField start="2" size="1" name="PER2" description="Periodic Interval 2" />
+      <BitField start="3" size="1" name="PER3" description="Periodic Interval 3" />
+      <BitField start="4" size="1" name="PER4" description="Periodic Interval 4" />
+      <BitField start="5" size="1" name="PER5" description="Periodic Interval 5" />
+      <BitField start="6" size="1" name="PER6" description="Periodic Interval 6" />
+      <BitField start="7" size="1" name="PER7" description="Periodic Interval 7" />
+      <BitField start="8" size="1" name="CMP0" description="Compare 0" />
+      <BitField start="9" size="1" name="CMP1" description="Compare 1" />
+      <BitField start="14" size="1" name="TAMPER" description="Tamper" />
+      <BitField start="15" size="1" name="OVF" description="Overflow" />
+    </Register>
+    <Register start="+0x0E" size="1" name="RTC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="RTC_SYNCBUSY" access="ReadOnly" description="MODE0 Synchronization Busy Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Bit Busy" />
+      <BitField start="2" size="1" name="FREQCORR" description="FREQCORR Register Busy" />
+      <BitField start="3" size="1" name="COUNT" description="COUNT Register Busy" />
+      <BitField start="5" size="1" name="COMP0" description="COMP 0 Register Busy" />
+      <BitField start="6" size="1" name="COMP1" description="COMP 1 Register Busy" />
+      <BitField start="15" size="1" name="COUNTSYNC" description="Count Synchronization Enable Bit Busy" />
+      <BitField start="16" size="1" name="GP0" description="General Purpose 0 Register Busy" />
+      <BitField start="17" size="1" name="GP1" description="General Purpose 1 Register Busy" />
+      <BitField start="18" size="1" name="GP2" description="General Purpose 2 Register Busy" />
+      <BitField start="19" size="1" name="GP3" description="General Purpose 3 Register Busy" />
+    </Register>
+    <Register start="+0x14" size="1" name="RTC_FREQCORR" access="Read/Write" description="Frequency Correction" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="VALUE" description="Correction Value" />
+      <BitField start="7" size="1" name="SIGN" description="Correction Sign" />
+    </Register>
+    <Register start="+0x18" size="4" name="RTC_COUNT" access="Read/Write" description="MODE0 Counter Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x20+0" size="4" name="RTC_COMP0" access="Read/Write" description="MODE0 Compare n Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="COMP" description="Compare Value" />
+    </Register>
+    <Register start="+0x20+4" size="4" name="RTC_COMP1" access="Read/Write" description="MODE0 Compare n Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="COMP" description="Compare Value" />
+    </Register>
+    <Register start="+0x40+0" size="4" name="RTC_GP0" access="Read/Write" description="General Purpose" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="GP" description="General Purpose" />
+    </Register>
+    <Register start="+0x40+4" size="4" name="RTC_GP1" access="Read/Write" description="General Purpose" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="GP" description="General Purpose" />
+    </Register>
+    <Register start="+0x40+8" size="4" name="RTC_GP2" access="Read/Write" description="General Purpose" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="GP" description="General Purpose" />
+    </Register>
+    <Register start="+0x40+12" size="4" name="RTC_GP3" access="Read/Write" description="General Purpose" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="GP" description="General Purpose" />
+    </Register>
+    <Register start="+0x60" size="4" name="RTC_TAMPCTRL" access="Read/Write" description="Tamper Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="IN0ACT" description="Tamper Input 0 Action">
+        <Enum name="OFF" start="0x0" description="Off (Disabled)" />
+        <Enum name="WAKE" start="0x1" description="Wake without timestamp" />
+        <Enum name="CAPTURE" start="0x2" description="Capture timestamp" />
+        <Enum name="ACTL" start="0x3" description="Compare IN0 to OUT" />
+      </BitField>
+      <BitField start="2" size="2" name="IN1ACT" description="Tamper Input 1 Action">
+        <Enum name="OFF" start="0x0" description="Off (Disabled)" />
+        <Enum name="WAKE" start="0x1" description="Wake without timestamp" />
+        <Enum name="CAPTURE" start="0x2" description="Capture timestamp" />
+        <Enum name="ACTL" start="0x3" description="Compare IN1 to OUT" />
+      </BitField>
+      <BitField start="4" size="2" name="IN2ACT" description="Tamper Input 2 Action">
+        <Enum name="OFF" start="0x0" description="Off (Disabled)" />
+        <Enum name="WAKE" start="0x1" description="Wake without timestamp" />
+        <Enum name="CAPTURE" start="0x2" description="Capture timestamp" />
+        <Enum name="ACTL" start="0x3" description="Compare IN2 to OUT" />
+      </BitField>
+      <BitField start="6" size="2" name="IN3ACT" description="Tamper Input 3 Action">
+        <Enum name="OFF" start="0x0" description="Off (Disabled)" />
+        <Enum name="WAKE" start="0x1" description="Wake without timestamp" />
+        <Enum name="CAPTURE" start="0x2" description="Capture timestamp" />
+        <Enum name="ACTL" start="0x3" description="Compare IN3 to OUT" />
+      </BitField>
+      <BitField start="8" size="2" name="IN4ACT" description="Tamper Input 4 Action">
+        <Enum name="OFF" start="0x0" description="Off (Disabled)" />
+        <Enum name="WAKE" start="0x1" description="Wake without timestamp" />
+        <Enum name="CAPTURE" start="0x2" description="Capture timestamp" />
+        <Enum name="ACTL" start="0x3" description="Compare IN4 to OUT" />
+      </BitField>
+      <BitField start="16" size="1" name="TAMLVL0" description="Tamper Level Select 0" />
+      <BitField start="17" size="1" name="TAMLVL1" description="Tamper Level Select 1" />
+      <BitField start="18" size="1" name="TAMLVL2" description="Tamper Level Select 2" />
+      <BitField start="19" size="1" name="TAMLVL3" description="Tamper Level Select 3" />
+      <BitField start="20" size="1" name="TAMLVL4" description="Tamper Level Select 4" />
+      <BitField start="24" size="1" name="DEBNC0" description="Debouncer Enable 0" />
+      <BitField start="25" size="1" name="DEBNC1" description="Debouncer Enable 1" />
+      <BitField start="26" size="1" name="DEBNC2" description="Debouncer Enable 2" />
+      <BitField start="27" size="1" name="DEBNC3" description="Debouncer Enable 3" />
+      <BitField start="28" size="1" name="DEBNC4" description="Debouncer Enable 4" />
+    </Register>
+    <Register start="+0x64" size="4" name="RTC_TIMESTAMP" access="ReadOnly" description="MODE0 Timestamp" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="COUNT" description="Count Timestamp Value" />
+    </Register>
+    <Register start="+0x68" size="4" name="RTC_TAMPID" access="Read/Write" description="Tamper ID" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TAMPID0" description="Tamper Input 0 Detected" />
+      <BitField start="1" size="1" name="TAMPID1" description="Tamper Input 1 Detected" />
+      <BitField start="2" size="1" name="TAMPID2" description="Tamper Input 2 Detected" />
+      <BitField start="3" size="1" name="TAMPID3" description="Tamper Input 3 Detected" />
+      <BitField start="4" size="1" name="TAMPID4" description="Tamper Input 4 Detected" />
+      <BitField start="31" size="1" name="TAMPEVT" description="Tamper Event Detected" />
+    </Register>
+    <Register start="+0x80+0" size="4" name="RTC_BKUP0" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+4" size="4" name="RTC_BKUP1" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+8" size="4" name="RTC_BKUP2" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+12" size="4" name="RTC_BKUP3" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+16" size="4" name="RTC_BKUP4" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+20" size="4" name="RTC_BKUP5" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+24" size="4" name="RTC_BKUP6" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+28" size="4" name="RTC_BKUP7" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="RTC (MODE1)" start="0x40002400" description="Real-Time Counter">
+    <Register start="+0x00" size="2" name="RTC_CTRLA" access="Read/Write" description="MODE1 Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Operating Mode">
+        <Enum name="COUNT32" start="0x0" description="Mode 0: 32-bit Counter" />
+        <Enum name="COUNT16" start="0x1" description="Mode 1: 16-bit Counter" />
+        <Enum name="CLOCK" start="0x2" description="Mode 2: Clock/Calendar" />
+      </BitField>
+      <BitField start="8" size="4" name="PRESCALER" description="Prescaler">
+        <Enum name="OFF" start="0x0" description="CLK_RTC_CNT = GCLK_RTC/1" />
+        <Enum name="DIV1" start="0x1" description="CLK_RTC_CNT = GCLK_RTC/1" />
+        <Enum name="DIV2" start="0x2" description="CLK_RTC_CNT = GCLK_RTC/2" />
+        <Enum name="DIV4" start="0x3" description="CLK_RTC_CNT = GCLK_RTC/4" />
+        <Enum name="DIV8" start="0x4" description="CLK_RTC_CNT = GCLK_RTC/8" />
+        <Enum name="DIV16" start="0x5" description="CLK_RTC_CNT = GCLK_RTC/16" />
+        <Enum name="DIV32" start="0x6" description="CLK_RTC_CNT = GCLK_RTC/32" />
+        <Enum name="DIV64" start="0x7" description="CLK_RTC_CNT = GCLK_RTC/64" />
+        <Enum name="DIV128" start="0x8" description="CLK_RTC_CNT = GCLK_RTC/128" />
+        <Enum name="DIV256" start="0x9" description="CLK_RTC_CNT = GCLK_RTC/256" />
+        <Enum name="DIV512" start="0xa" description="CLK_RTC_CNT = GCLK_RTC/512" />
+        <Enum name="DIV1024" start="0xb" description="CLK_RTC_CNT = GCLK_RTC/1024" />
+      </BitField>
+      <BitField start="13" size="1" name="BKTRST" description="BKUP Registers Reset On Tamper Enable" />
+      <BitField start="14" size="1" name="GPTRST" description="GP Registers Reset On Tamper Enable" />
+      <BitField start="15" size="1" name="COUNTSYNC" description="Count Read Synchronization Enable" />
+    </Register>
+    <Register start="+0x02" size="2" name="RTC_CTRLB" access="Read/Write" description="MODE1 Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="GP0EN" description="General Purpose 0 Enable" />
+      <BitField start="1" size="1" name="GP2EN" description="General Purpose 2 Enable" />
+      <BitField start="4" size="1" name="DEBMAJ" description="Debouncer Majority Enable" />
+      <BitField start="5" size="1" name="DEBASYNC" description="Debouncer Asynchronous Enable" />
+      <BitField start="6" size="1" name="RTCOUT" description="RTC Output Enable" />
+      <BitField start="7" size="1" name="DMAEN" description="DMA Enable" />
+      <BitField start="8" size="3" name="DEBF" description="Debounce Freqnuency">
+        <Enum name="DIV2" start="0x0" description="CLK_RTC_DEB = CLK_RTC/2" />
+        <Enum name="DIV4" start="0x1" description="CLK_RTC_DEB = CLK_RTC/4" />
+        <Enum name="DIV8" start="0x2" description="CLK_RTC_DEB = CLK_RTC/8" />
+        <Enum name="DIV16" start="0x3" description="CLK_RTC_DEB = CLK_RTC/16" />
+        <Enum name="DIV32" start="0x4" description="CLK_RTC_DEB = CLK_RTC/32" />
+        <Enum name="DIV64" start="0x5" description="CLK_RTC_DEB = CLK_RTC/64" />
+        <Enum name="DIV128" start="0x6" description="CLK_RTC_DEB = CLK_RTC/128" />
+        <Enum name="DIV256" start="0x7" description="CLK_RTC_DEB = CLK_RTC/256" />
+      </BitField>
+      <BitField start="12" size="3" name="ACTF" description="Active Layer Freqnuency">
+        <Enum name="DIV2" start="0x0" description="CLK_RTC_OUT = CLK_RTC/2" />
+        <Enum name="DIV4" start="0x1" description="CLK_RTC_OUT = CLK_RTC/4" />
+        <Enum name="DIV8" start="0x2" description="CLK_RTC_OUT = CLK_RTC/8" />
+        <Enum name="DIV16" start="0x3" description="CLK_RTC_OUT = CLK_RTC/16" />
+        <Enum name="DIV32" start="0x4" description="CLK_RTC_OUT = CLK_RTC/32" />
+        <Enum name="DIV64" start="0x5" description="CLK_RTC_OUT = CLK_RTC/64" />
+        <Enum name="DIV128" start="0x6" description="CLK_RTC_OUT = CLK_RTC/128" />
+        <Enum name="DIV256" start="0x7" description="CLK_RTC_OUT = CLK_RTC/256" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="4" name="RTC_EVCTRL" access="Read/Write" description="MODE1 Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEREO0" description="Periodic Interval 0 Event Output Enable" />
+      <BitField start="1" size="1" name="PEREO1" description="Periodic Interval 1 Event Output Enable" />
+      <BitField start="2" size="1" name="PEREO2" description="Periodic Interval 2 Event Output Enable" />
+      <BitField start="3" size="1" name="PEREO3" description="Periodic Interval 3 Event Output Enable" />
+      <BitField start="4" size="1" name="PEREO4" description="Periodic Interval 4 Event Output Enable" />
+      <BitField start="5" size="1" name="PEREO5" description="Periodic Interval 5 Event Output Enable" />
+      <BitField start="6" size="1" name="PEREO6" description="Periodic Interval 6 Event Output Enable" />
+      <BitField start="7" size="1" name="PEREO7" description="Periodic Interval 7 Event Output Enable" />
+      <BitField start="8" size="1" name="CMPEO0" description="Compare 0 Event Output Enable" />
+      <BitField start="9" size="1" name="CMPEO1" description="Compare 1 Event Output Enable" />
+      <BitField start="10" size="1" name="CMPEO2" description="Compare 2 Event Output Enable" />
+      <BitField start="11" size="1" name="CMPEO3" description="Compare 3 Event Output Enable" />
+      <BitField start="14" size="1" name="TAMPEREO" description="Tamper Event Output Enable" />
+      <BitField start="15" size="1" name="OVFEO" description="Overflow Event Output Enable" />
+      <BitField start="16" size="1" name="TAMPEVEI" description="Tamper Event Input Enable" />
+    </Register>
+    <Register start="+0x08" size="2" name="RTC_INTENCLR" access="Read/Write" description="MODE1 Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PER0" description="Periodic Interval 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="PER1" description="Periodic Interval 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="PER2" description="Periodic Interval 2 Interrupt Enable" />
+      <BitField start="3" size="1" name="PER3" description="Periodic Interval 3 Interrupt Enable" />
+      <BitField start="4" size="1" name="PER4" description="Periodic Interval 4 Interrupt Enable" />
+      <BitField start="5" size="1" name="PER5" description="Periodic Interval 5 Interrupt Enable" />
+      <BitField start="6" size="1" name="PER6" description="Periodic Interval 6 Interrupt Enable" />
+      <BitField start="7" size="1" name="PER7" description="Periodic Interval 7 Interrupt Enable" />
+      <BitField start="8" size="1" name="CMP0" description="Compare 0 Interrupt Enable" />
+      <BitField start="9" size="1" name="CMP1" description="Compare 1 Interrupt Enable" />
+      <BitField start="10" size="1" name="CMP2" description="Compare 2 Interrupt Enable" />
+      <BitField start="11" size="1" name="CMP3" description="Compare 3 Interrupt Enable" />
+      <BitField start="14" size="1" name="TAMPER" description="Tamper Enable" />
+      <BitField start="15" size="1" name="OVF" description="Overflow Interrupt Enable" />
+    </Register>
+    <Register start="+0x0A" size="2" name="RTC_INTENSET" access="Read/Write" description="MODE1 Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PER0" description="Periodic Interval 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="PER1" description="Periodic Interval 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="PER2" description="Periodic Interval 2 Interrupt Enable" />
+      <BitField start="3" size="1" name="PER3" description="Periodic Interval 3 Interrupt Enable" />
+      <BitField start="4" size="1" name="PER4" description="Periodic Interval 4 Interrupt Enable" />
+      <BitField start="5" size="1" name="PER5" description="Periodic Interval 5 Interrupt Enable" />
+      <BitField start="6" size="1" name="PER6" description="Periodic Interval 6 Interrupt Enable" />
+      <BitField start="7" size="1" name="PER7" description="Periodic Interval 7 Interrupt Enable" />
+      <BitField start="8" size="1" name="CMP0" description="Compare 0 Interrupt Enable" />
+      <BitField start="9" size="1" name="CMP1" description="Compare 1 Interrupt Enable" />
+      <BitField start="10" size="1" name="CMP2" description="Compare 2 Interrupt Enable" />
+      <BitField start="11" size="1" name="CMP3" description="Compare 3 Interrupt Enable" />
+      <BitField start="14" size="1" name="TAMPER" description="Tamper Enable" />
+      <BitField start="15" size="1" name="OVF" description="Overflow Interrupt Enable" />
+    </Register>
+    <Register start="+0x0C" size="2" name="RTC_INTFLAG" access="Read/Write" description="MODE1 Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PER0" description="Periodic Interval 0" />
+      <BitField start="1" size="1" name="PER1" description="Periodic Interval 1" />
+      <BitField start="2" size="1" name="PER2" description="Periodic Interval 2" />
+      <BitField start="3" size="1" name="PER3" description="Periodic Interval 3" />
+      <BitField start="4" size="1" name="PER4" description="Periodic Interval 4" />
+      <BitField start="5" size="1" name="PER5" description="Periodic Interval 5" />
+      <BitField start="6" size="1" name="PER6" description="Periodic Interval 6" />
+      <BitField start="7" size="1" name="PER7" description="Periodic Interval 7" />
+      <BitField start="8" size="1" name="CMP0" description="Compare 0" />
+      <BitField start="9" size="1" name="CMP1" description="Compare 1" />
+      <BitField start="10" size="1" name="CMP2" description="Compare 2" />
+      <BitField start="11" size="1" name="CMP3" description="Compare 3" />
+      <BitField start="14" size="1" name="TAMPER" description="Tamper" />
+      <BitField start="15" size="1" name="OVF" description="Overflow" />
+    </Register>
+    <Register start="+0x0E" size="1" name="RTC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="RTC_SYNCBUSY" access="ReadOnly" description="MODE1 Synchronization Busy Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Bit Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Bit Busy" />
+      <BitField start="2" size="1" name="FREQCORR" description="FREQCORR Register Busy" />
+      <BitField start="3" size="1" name="COUNT" description="COUNT Register Busy" />
+      <BitField start="4" size="1" name="PER" description="PER Register Busy" />
+      <BitField start="5" size="1" name="COMP0" description="COMP 0 Register Busy" />
+      <BitField start="6" size="1" name="COMP1" description="COMP 1 Register Busy" />
+      <BitField start="7" size="1" name="COMP2" description="COMP 2 Register Busy" />
+      <BitField start="8" size="1" name="COMP3" description="COMP 3 Register Busy" />
+      <BitField start="15" size="1" name="COUNTSYNC" description="Count Synchronization Enable Bit Busy" />
+      <BitField start="16" size="1" name="GP0" description="General Purpose 0 Register Busy" />
+      <BitField start="17" size="1" name="GP1" description="General Purpose 1 Register Busy" />
+      <BitField start="18" size="1" name="GP2" description="General Purpose 2 Register Busy" />
+      <BitField start="19" size="1" name="GP3" description="General Purpose 3 Register Busy" />
+    </Register>
+    <Register start="+0x14" size="1" name="RTC_FREQCORR" access="Read/Write" description="Frequency Correction" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="VALUE" description="Correction Value" />
+      <BitField start="7" size="1" name="SIGN" description="Correction Sign" />
+    </Register>
+    <Register start="+0x18" size="2" name="RTC_COUNT" access="Read/Write" description="MODE1 Counter Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1C" size="2" name="RTC_PER" access="Read/Write" description="MODE1 Counter Period" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="PER" description="Counter Period" />
+    </Register>
+    <Register start="+0x20+0" size="2" name="RTC_COMP0" access="Read/Write" description="MODE1 Compare n Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COMP" description="Compare Value" />
+    </Register>
+    <Register start="+0x20+2" size="2" name="RTC_COMP1" access="Read/Write" description="MODE1 Compare n Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COMP" description="Compare Value" />
+    </Register>
+    <Register start="+0x20+4" size="2" name="RTC_COMP2" access="Read/Write" description="MODE1 Compare n Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COMP" description="Compare Value" />
+    </Register>
+    <Register start="+0x20+6" size="2" name="RTC_COMP3" access="Read/Write" description="MODE1 Compare n Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COMP" description="Compare Value" />
+    </Register>
+    <Register start="+0x40+0" size="4" name="RTC_GP0" access="Read/Write" description="General Purpose" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="GP" description="General Purpose" />
+    </Register>
+    <Register start="+0x40+4" size="4" name="RTC_GP1" access="Read/Write" description="General Purpose" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="GP" description="General Purpose" />
+    </Register>
+    <Register start="+0x40+8" size="4" name="RTC_GP2" access="Read/Write" description="General Purpose" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="GP" description="General Purpose" />
+    </Register>
+    <Register start="+0x40+12" size="4" name="RTC_GP3" access="Read/Write" description="General Purpose" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="GP" description="General Purpose" />
+    </Register>
+    <Register start="+0x60" size="4" name="RTC_TAMPCTRL" access="Read/Write" description="Tamper Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="IN0ACT" description="Tamper Input 0 Action">
+        <Enum name="OFF" start="0x0" description="Off (Disabled)" />
+        <Enum name="WAKE" start="0x1" description="Wake without timestamp" />
+        <Enum name="CAPTURE" start="0x2" description="Capture timestamp" />
+        <Enum name="ACTL" start="0x3" description="Compare IN0 to OUT" />
+      </BitField>
+      <BitField start="2" size="2" name="IN1ACT" description="Tamper Input 1 Action">
+        <Enum name="OFF" start="0x0" description="Off (Disabled)" />
+        <Enum name="WAKE" start="0x1" description="Wake without timestamp" />
+        <Enum name="CAPTURE" start="0x2" description="Capture timestamp" />
+        <Enum name="ACTL" start="0x3" description="Compare IN1 to OUT" />
+      </BitField>
+      <BitField start="4" size="2" name="IN2ACT" description="Tamper Input 2 Action">
+        <Enum name="OFF" start="0x0" description="Off (Disabled)" />
+        <Enum name="WAKE" start="0x1" description="Wake without timestamp" />
+        <Enum name="CAPTURE" start="0x2" description="Capture timestamp" />
+        <Enum name="ACTL" start="0x3" description="Compare IN2 to OUT" />
+      </BitField>
+      <BitField start="6" size="2" name="IN3ACT" description="Tamper Input 3 Action">
+        <Enum name="OFF" start="0x0" description="Off (Disabled)" />
+        <Enum name="WAKE" start="0x1" description="Wake without timestamp" />
+        <Enum name="CAPTURE" start="0x2" description="Capture timestamp" />
+        <Enum name="ACTL" start="0x3" description="Compare IN3 to OUT" />
+      </BitField>
+      <BitField start="8" size="2" name="IN4ACT" description="Tamper Input 4 Action">
+        <Enum name="OFF" start="0x0" description="Off (Disabled)" />
+        <Enum name="WAKE" start="0x1" description="Wake without timestamp" />
+        <Enum name="CAPTURE" start="0x2" description="Capture timestamp" />
+        <Enum name="ACTL" start="0x3" description="Compare IN4 to OUT" />
+      </BitField>
+      <BitField start="16" size="1" name="TAMLVL0" description="Tamper Level Select 0" />
+      <BitField start="17" size="1" name="TAMLVL1" description="Tamper Level Select 1" />
+      <BitField start="18" size="1" name="TAMLVL2" description="Tamper Level Select 2" />
+      <BitField start="19" size="1" name="TAMLVL3" description="Tamper Level Select 3" />
+      <BitField start="20" size="1" name="TAMLVL4" description="Tamper Level Select 4" />
+      <BitField start="24" size="1" name="DEBNC0" description="Debouncer Enable 0" />
+      <BitField start="25" size="1" name="DEBNC1" description="Debouncer Enable 1" />
+      <BitField start="26" size="1" name="DEBNC2" description="Debouncer Enable 2" />
+      <BitField start="27" size="1" name="DEBNC3" description="Debouncer Enable 3" />
+      <BitField start="28" size="1" name="DEBNC4" description="Debouncer Enable 4" />
+    </Register>
+    <Register start="+0x64" size="4" name="RTC_TIMESTAMP" access="ReadOnly" description="MODE1 Timestamp" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COUNT" description="Count Timestamp Value" />
+    </Register>
+    <Register start="+0x68" size="4" name="RTC_TAMPID" access="Read/Write" description="Tamper ID" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TAMPID0" description="Tamper Input 0 Detected" />
+      <BitField start="1" size="1" name="TAMPID1" description="Tamper Input 1 Detected" />
+      <BitField start="2" size="1" name="TAMPID2" description="Tamper Input 2 Detected" />
+      <BitField start="3" size="1" name="TAMPID3" description="Tamper Input 3 Detected" />
+      <BitField start="4" size="1" name="TAMPID4" description="Tamper Input 4 Detected" />
+      <BitField start="31" size="1" name="TAMPEVT" description="Tamper Event Detected" />
+    </Register>
+    <Register start="+0x80+0" size="4" name="RTC_BKUP0" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+4" size="4" name="RTC_BKUP1" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+8" size="4" name="RTC_BKUP2" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+12" size="4" name="RTC_BKUP3" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+16" size="4" name="RTC_BKUP4" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+20" size="4" name="RTC_BKUP5" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+24" size="4" name="RTC_BKUP6" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+28" size="4" name="RTC_BKUP7" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="RTC (MODE2)" start="0x40002400" description="Real-Time Counter">
+    <Register start="+0x00" size="2" name="RTC_CTRLA" access="Read/Write" description="MODE2 Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Operating Mode">
+        <Enum name="COUNT32" start="0x0" description="Mode 0: 32-bit Counter" />
+        <Enum name="COUNT16" start="0x1" description="Mode 1: 16-bit Counter" />
+        <Enum name="CLOCK" start="0x2" description="Mode 2: Clock/Calendar" />
+      </BitField>
+      <BitField start="6" size="1" name="CLKREP" description="Clock Representation" />
+      <BitField start="7" size="1" name="MATCHCLR" description="Clear on Match" />
+      <BitField start="8" size="4" name="PRESCALER" description="Prescaler">
+        <Enum name="OFF" start="0x0" description="CLK_RTC_CNT = GCLK_RTC/1" />
+        <Enum name="DIV1" start="0x1" description="CLK_RTC_CNT = GCLK_RTC/1" />
+        <Enum name="DIV2" start="0x2" description="CLK_RTC_CNT = GCLK_RTC/2" />
+        <Enum name="DIV4" start="0x3" description="CLK_RTC_CNT = GCLK_RTC/4" />
+        <Enum name="DIV8" start="0x4" description="CLK_RTC_CNT = GCLK_RTC/8" />
+        <Enum name="DIV16" start="0x5" description="CLK_RTC_CNT = GCLK_RTC/16" />
+        <Enum name="DIV32" start="0x6" description="CLK_RTC_CNT = GCLK_RTC/32" />
+        <Enum name="DIV64" start="0x7" description="CLK_RTC_CNT = GCLK_RTC/64" />
+        <Enum name="DIV128" start="0x8" description="CLK_RTC_CNT = GCLK_RTC/128" />
+        <Enum name="DIV256" start="0x9" description="CLK_RTC_CNT = GCLK_RTC/256" />
+        <Enum name="DIV512" start="0xa" description="CLK_RTC_CNT = GCLK_RTC/512" />
+        <Enum name="DIV1024" start="0xb" description="CLK_RTC_CNT = GCLK_RTC/1024" />
+      </BitField>
+      <BitField start="13" size="1" name="BKTRST" description="BKUP Registers Reset On Tamper Enable" />
+      <BitField start="14" size="1" name="GPTRST" description="GP Registers Reset On Tamper Enable" />
+      <BitField start="15" size="1" name="CLOCKSYNC" description="Clock Read Synchronization Enable" />
+    </Register>
+    <Register start="+0x02" size="2" name="RTC_CTRLB" access="Read/Write" description="MODE2 Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="GP0EN" description="General Purpose 0 Enable" />
+      <BitField start="1" size="1" name="GP2EN" description="General Purpose 2 Enable" />
+      <BitField start="4" size="1" name="DEBMAJ" description="Debouncer Majority Enable" />
+      <BitField start="5" size="1" name="DEBASYNC" description="Debouncer Asynchronous Enable" />
+      <BitField start="6" size="1" name="RTCOUT" description="RTC Output Enable" />
+      <BitField start="7" size="1" name="DMAEN" description="DMA Enable" />
+      <BitField start="8" size="3" name="DEBF" description="Debounce Freqnuency">
+        <Enum name="DIV2" start="0x0" description="CLK_RTC_DEB = CLK_RTC/2" />
+        <Enum name="DIV4" start="0x1" description="CLK_RTC_DEB = CLK_RTC/4" />
+        <Enum name="DIV8" start="0x2" description="CLK_RTC_DEB = CLK_RTC/8" />
+        <Enum name="DIV16" start="0x3" description="CLK_RTC_DEB = CLK_RTC/16" />
+        <Enum name="DIV32" start="0x4" description="CLK_RTC_DEB = CLK_RTC/32" />
+        <Enum name="DIV64" start="0x5" description="CLK_RTC_DEB = CLK_RTC/64" />
+        <Enum name="DIV128" start="0x6" description="CLK_RTC_DEB = CLK_RTC/128" />
+        <Enum name="DIV256" start="0x7" description="CLK_RTC_DEB = CLK_RTC/256" />
+      </BitField>
+      <BitField start="12" size="3" name="ACTF" description="Active Layer Freqnuency">
+        <Enum name="DIV2" start="0x0" description="CLK_RTC_OUT = CLK_RTC/2" />
+        <Enum name="DIV4" start="0x1" description="CLK_RTC_OUT = CLK_RTC/4" />
+        <Enum name="DIV8" start="0x2" description="CLK_RTC_OUT = CLK_RTC/8" />
+        <Enum name="DIV16" start="0x3" description="CLK_RTC_OUT = CLK_RTC/16" />
+        <Enum name="DIV32" start="0x4" description="CLK_RTC_OUT = CLK_RTC/32" />
+        <Enum name="DIV64" start="0x5" description="CLK_RTC_OUT = CLK_RTC/64" />
+        <Enum name="DIV128" start="0x6" description="CLK_RTC_OUT = CLK_RTC/128" />
+        <Enum name="DIV256" start="0x7" description="CLK_RTC_OUT = CLK_RTC/256" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="4" name="RTC_EVCTRL" access="Read/Write" description="MODE2 Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PEREO0" description="Periodic Interval 0 Event Output Enable" />
+      <BitField start="1" size="1" name="PEREO1" description="Periodic Interval 1 Event Output Enable" />
+      <BitField start="2" size="1" name="PEREO2" description="Periodic Interval 2 Event Output Enable" />
+      <BitField start="3" size="1" name="PEREO3" description="Periodic Interval 3 Event Output Enable" />
+      <BitField start="4" size="1" name="PEREO4" description="Periodic Interval 4 Event Output Enable" />
+      <BitField start="5" size="1" name="PEREO5" description="Periodic Interval 5 Event Output Enable" />
+      <BitField start="6" size="1" name="PEREO6" description="Periodic Interval 6 Event Output Enable" />
+      <BitField start="7" size="1" name="PEREO7" description="Periodic Interval 7 Event Output Enable" />
+      <BitField start="8" size="1" name="ALARMEO0" description="Alarm 0 Event Output Enable" />
+      <BitField start="9" size="1" name="ALARMEO1" description="Alarm 1 Event Output Enable" />
+      <BitField start="14" size="1" name="TAMPEREO" description="Tamper Event Output Enable" />
+      <BitField start="15" size="1" name="OVFEO" description="Overflow Event Output Enable" />
+      <BitField start="16" size="1" name="TAMPEVEI" description="Tamper Event Input Enable" />
+    </Register>
+    <Register start="+0x08" size="2" name="RTC_INTENCLR" access="Read/Write" description="MODE2 Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PER0" description="Periodic Interval 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="PER1" description="Periodic Interval 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="PER2" description="Periodic Interval 2 Interrupt Enable" />
+      <BitField start="3" size="1" name="PER3" description="Periodic Interval 3 Interrupt Enable" />
+      <BitField start="4" size="1" name="PER4" description="Periodic Interval 4 Interrupt Enable" />
+      <BitField start="5" size="1" name="PER5" description="Periodic Interval 5 Interrupt Enable" />
+      <BitField start="6" size="1" name="PER6" description="Periodic Interval 6 Interrupt Enable" />
+      <BitField start="7" size="1" name="PER7" description="Periodic Interval 7 Interrupt Enable" />
+      <BitField start="8" size="1" name="ALARM0" description="Alarm 0 Interrupt Enable" />
+      <BitField start="9" size="1" name="ALARM1" description="Alarm 1 Interrupt Enable" />
+      <BitField start="14" size="1" name="TAMPER" description="Tamper Enable" />
+      <BitField start="15" size="1" name="OVF" description="Overflow Interrupt Enable" />
+    </Register>
+    <Register start="+0x0A" size="2" name="RTC_INTENSET" access="Read/Write" description="MODE2 Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PER0" description="Periodic Interval 0 Enable" />
+      <BitField start="1" size="1" name="PER1" description="Periodic Interval 1 Enable" />
+      <BitField start="2" size="1" name="PER2" description="Periodic Interval 2 Enable" />
+      <BitField start="3" size="1" name="PER3" description="Periodic Interval 3 Enable" />
+      <BitField start="4" size="1" name="PER4" description="Periodic Interval 4 Enable" />
+      <BitField start="5" size="1" name="PER5" description="Periodic Interval 5 Enable" />
+      <BitField start="6" size="1" name="PER6" description="Periodic Interval 6 Enable" />
+      <BitField start="7" size="1" name="PER7" description="Periodic Interval 7 Enable" />
+      <BitField start="8" size="1" name="ALARM0" description="Alarm 0 Interrupt Enable" />
+      <BitField start="9" size="1" name="ALARM1" description="Alarm 1 Interrupt Enable" />
+      <BitField start="14" size="1" name="TAMPER" description="Tamper Enable" />
+      <BitField start="15" size="1" name="OVF" description="Overflow Interrupt Enable" />
+    </Register>
+    <Register start="+0x0C" size="2" name="RTC_INTFLAG" access="Read/Write" description="MODE2 Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PER0" description="Periodic Interval 0" />
+      <BitField start="1" size="1" name="PER1" description="Periodic Interval 1" />
+      <BitField start="2" size="1" name="PER2" description="Periodic Interval 2" />
+      <BitField start="3" size="1" name="PER3" description="Periodic Interval 3" />
+      <BitField start="4" size="1" name="PER4" description="Periodic Interval 4" />
+      <BitField start="5" size="1" name="PER5" description="Periodic Interval 5" />
+      <BitField start="6" size="1" name="PER6" description="Periodic Interval 6" />
+      <BitField start="7" size="1" name="PER7" description="Periodic Interval 7" />
+      <BitField start="8" size="1" name="ALARM0" description="Alarm 0" />
+      <BitField start="9" size="1" name="ALARM1" description="Alarm 1" />
+      <BitField start="14" size="1" name="TAMPER" description="Tamper" />
+      <BitField start="15" size="1" name="OVF" description="Overflow" />
+    </Register>
+    <Register start="+0x0E" size="1" name="RTC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="RTC_SYNCBUSY" access="ReadOnly" description="MODE2 Synchronization Busy Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Bit Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Bit Busy" />
+      <BitField start="2" size="1" name="FREQCORR" description="FREQCORR Register Busy" />
+      <BitField start="3" size="1" name="CLOCK" description="CLOCK Register Busy" />
+      <BitField start="5" size="1" name="ALARM0" description="ALARM 0 Register Busy" />
+      <BitField start="6" size="1" name="ALARM1" description="ALARM 1 Register Busy" />
+      <BitField start="11" size="1" name="MASK0" description="MASK 0 Register Busy" />
+      <BitField start="12" size="1" name="MASK1" description="MASK 1 Register Busy" />
+      <BitField start="15" size="1" name="CLOCKSYNC" description="Clock Synchronization Enable Bit Busy" />
+      <BitField start="16" size="1" name="GP0" description="General Purpose 0 Register Busy" />
+      <BitField start="17" size="1" name="GP1" description="General Purpose 1 Register Busy" />
+      <BitField start="18" size="1" name="GP2" description="General Purpose 2 Register Busy" />
+      <BitField start="19" size="1" name="GP3" description="General Purpose 3 Register Busy" />
+    </Register>
+    <Register start="+0x14" size="1" name="RTC_FREQCORR" access="Read/Write" description="Frequency Correction" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="VALUE" description="Correction Value" />
+      <BitField start="7" size="1" name="SIGN" description="Correction Sign" />
+    </Register>
+    <Register start="+0x18" size="4" name="RTC_CLOCK" access="Read/Write" description="MODE2 Clock Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="SECOND" description="Second" />
+      <BitField start="6" size="6" name="MINUTE" description="Minute" />
+      <BitField start="12" size="5" name="HOUR" description="Hour">
+        <Enum name="AM" start="0x0" description="AM when CLKREP in 12-hour" />
+        <Enum name="PM" start="0x10" description="PM when CLKREP in 12-hour" />
+      </BitField>
+      <BitField start="17" size="5" name="DAY" description="Day" />
+      <BitField start="22" size="4" name="MONTH" description="Month" />
+      <BitField start="26" size="6" name="YEAR" description="Year" />
+    </Register>
+    <Register start="+0x20+0" size="4" name="RTC_ALARM0" access="Read/Write" description="MODE2 Alarm n Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="SECOND" description="Second" />
+      <BitField start="6" size="6" name="MINUTE" description="Minute" />
+      <BitField start="12" size="5" name="HOUR" description="Hour">
+        <Enum name="AM" start="0x0" description="Morning hour" />
+        <Enum name="PM" start="0x10" description="Afternoon hour" />
+      </BitField>
+      <BitField start="17" size="5" name="DAY" description="Day" />
+      <BitField start="22" size="4" name="MONTH" description="Month" />
+      <BitField start="26" size="6" name="YEAR" description="Year" />
+    </Register>
+    <Register start="+0x20+8" size="4" name="RTC_ALARM1" access="Read/Write" description="MODE2 Alarm n Value" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="SECOND" description="Second" />
+      <BitField start="6" size="6" name="MINUTE" description="Minute" />
+      <BitField start="12" size="5" name="HOUR" description="Hour">
+        <Enum name="AM" start="0x0" description="Morning hour" />
+        <Enum name="PM" start="0x10" description="Afternoon hour" />
+      </BitField>
+      <BitField start="17" size="5" name="DAY" description="Day" />
+      <BitField start="22" size="4" name="MONTH" description="Month" />
+      <BitField start="26" size="6" name="YEAR" description="Year" />
+    </Register>
+    <Register start="+0x24+0" size="1" name="RTC_MASK0" access="Read/Write" description="MODE2 Alarm n Mask" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="SEL" description="Alarm Mask Selection">
+        <Enum name="OFF" start="0x0" description="Alarm Disabled" />
+        <Enum name="SS" start="0x1" description="Match seconds only" />
+        <Enum name="MMSS" start="0x2" description="Match seconds and minutes only" />
+        <Enum name="HHMMSS" start="0x3" description="Match seconds, minutes, and hours only" />
+        <Enum name="DDHHMMSS" start="0x4" description="Match seconds, minutes, hours, and days only" />
+        <Enum name="MMDDHHMMSS" start="0x5" description="Match seconds, minutes, hours, days, and months only" />
+        <Enum name="YYMMDDHHMMSS" start="0x6" description="Match seconds, minutes, hours, days, months, and years" />
+      </BitField>
+    </Register>
+    <Register start="+0x24+8" size="1" name="RTC_MASK1" access="Read/Write" description="MODE2 Alarm n Mask" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="SEL" description="Alarm Mask Selection">
+        <Enum name="OFF" start="0x0" description="Alarm Disabled" />
+        <Enum name="SS" start="0x1" description="Match seconds only" />
+        <Enum name="MMSS" start="0x2" description="Match seconds and minutes only" />
+        <Enum name="HHMMSS" start="0x3" description="Match seconds, minutes, and hours only" />
+        <Enum name="DDHHMMSS" start="0x4" description="Match seconds, minutes, hours, and days only" />
+        <Enum name="MMDDHHMMSS" start="0x5" description="Match seconds, minutes, hours, days, and months only" />
+        <Enum name="YYMMDDHHMMSS" start="0x6" description="Match seconds, minutes, hours, days, months, and years" />
+      </BitField>
+    </Register>
+    <Register start="+0x40+0" size="4" name="RTC_GP0" access="Read/Write" description="General Purpose" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="GP" description="General Purpose" />
+    </Register>
+    <Register start="+0x40+4" size="4" name="RTC_GP1" access="Read/Write" description="General Purpose" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="GP" description="General Purpose" />
+    </Register>
+    <Register start="+0x40+8" size="4" name="RTC_GP2" access="Read/Write" description="General Purpose" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="GP" description="General Purpose" />
+    </Register>
+    <Register start="+0x40+12" size="4" name="RTC_GP3" access="Read/Write" description="General Purpose" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="GP" description="General Purpose" />
+    </Register>
+    <Register start="+0x60" size="4" name="RTC_TAMPCTRL" access="Read/Write" description="Tamper Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="IN0ACT" description="Tamper Input 0 Action">
+        <Enum name="OFF" start="0x0" description="Off (Disabled)" />
+        <Enum name="WAKE" start="0x1" description="Wake without timestamp" />
+        <Enum name="CAPTURE" start="0x2" description="Capture timestamp" />
+        <Enum name="ACTL" start="0x3" description="Compare IN0 to OUT" />
+      </BitField>
+      <BitField start="2" size="2" name="IN1ACT" description="Tamper Input 1 Action">
+        <Enum name="OFF" start="0x0" description="Off (Disabled)" />
+        <Enum name="WAKE" start="0x1" description="Wake without timestamp" />
+        <Enum name="CAPTURE" start="0x2" description="Capture timestamp" />
+        <Enum name="ACTL" start="0x3" description="Compare IN1 to OUT" />
+      </BitField>
+      <BitField start="4" size="2" name="IN2ACT" description="Tamper Input 2 Action">
+        <Enum name="OFF" start="0x0" description="Off (Disabled)" />
+        <Enum name="WAKE" start="0x1" description="Wake without timestamp" />
+        <Enum name="CAPTURE" start="0x2" description="Capture timestamp" />
+        <Enum name="ACTL" start="0x3" description="Compare IN2 to OUT" />
+      </BitField>
+      <BitField start="6" size="2" name="IN3ACT" description="Tamper Input 3 Action">
+        <Enum name="OFF" start="0x0" description="Off (Disabled)" />
+        <Enum name="WAKE" start="0x1" description="Wake without timestamp" />
+        <Enum name="CAPTURE" start="0x2" description="Capture timestamp" />
+        <Enum name="ACTL" start="0x3" description="Compare IN3 to OUT" />
+      </BitField>
+      <BitField start="8" size="2" name="IN4ACT" description="Tamper Input 4 Action">
+        <Enum name="OFF" start="0x0" description="Off (Disabled)" />
+        <Enum name="WAKE" start="0x1" description="Wake without timestamp" />
+        <Enum name="CAPTURE" start="0x2" description="Capture timestamp" />
+        <Enum name="ACTL" start="0x3" description="Compare IN4 to OUT" />
+      </BitField>
+      <BitField start="16" size="1" name="TAMLVL0" description="Tamper Level Select 0" />
+      <BitField start="17" size="1" name="TAMLVL1" description="Tamper Level Select 1" />
+      <BitField start="18" size="1" name="TAMLVL2" description="Tamper Level Select 2" />
+      <BitField start="19" size="1" name="TAMLVL3" description="Tamper Level Select 3" />
+      <BitField start="20" size="1" name="TAMLVL4" description="Tamper Level Select 4" />
+      <BitField start="24" size="1" name="DEBNC0" description="Debouncer Enable 0" />
+      <BitField start="25" size="1" name="DEBNC1" description="Debouncer Enable 1" />
+      <BitField start="26" size="1" name="DEBNC2" description="Debouncer Enable 2" />
+      <BitField start="27" size="1" name="DEBNC3" description="Debouncer Enable 3" />
+      <BitField start="28" size="1" name="DEBNC4" description="Debouncer Enable 4" />
+    </Register>
+    <Register start="+0x64" size="4" name="RTC_TIMESTAMP" access="ReadOnly" description="MODE2 Timestamp" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="SECOND" description="Second Timestamp Value" />
+      <BitField start="6" size="6" name="MINUTE" description="Minute Timestamp Value" />
+      <BitField start="12" size="5" name="HOUR" description="Hour Timestamp Value">
+        <Enum name="AM" start="0x0" description="AM when CLKREP in 12-hour" />
+        <Enum name="PM" start="0x10" description="PM when CLKREP in 12-hour" />
+      </BitField>
+      <BitField start="17" size="5" name="DAY" description="Day Timestamp Value" />
+      <BitField start="22" size="4" name="MONTH" description="Month Timestamp Value" />
+      <BitField start="26" size="6" name="YEAR" description="Year Timestamp Value" />
+    </Register>
+    <Register start="+0x68" size="4" name="RTC_TAMPID" access="Read/Write" description="Tamper ID" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TAMPID0" description="Tamper Input 0 Detected" />
+      <BitField start="1" size="1" name="TAMPID1" description="Tamper Input 1 Detected" />
+      <BitField start="2" size="1" name="TAMPID2" description="Tamper Input 2 Detected" />
+      <BitField start="3" size="1" name="TAMPID3" description="Tamper Input 3 Detected" />
+      <BitField start="4" size="1" name="TAMPID4" description="Tamper Input 4 Detected" />
+      <BitField start="31" size="1" name="TAMPEVT" description="Tamper Event Detected" />
+    </Register>
+    <Register start="+0x80+0" size="4" name="RTC_BKUP0" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+4" size="4" name="RTC_BKUP1" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+8" size="4" name="RTC_BKUP2" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+12" size="4" name="RTC_BKUP3" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+16" size="4" name="RTC_BKUP4" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+20" size="4" name="RTC_BKUP5" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+24" size="4" name="RTC_BKUP6" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+    <Register start="+0x80+28" size="4" name="RTC_BKUP7" access="Read/Write" description="Backup" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BKUP" description="Backup" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SDHC0" start="0x45000000" description="SD/MMC Host Controller">
+    <Register start="+0x000" size="4" name="SDHC_SSAR" access="Read/Write" description="SDMA System Address / Argument 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="ADDR" description="SDMA System Address" />
+    </Register>
+    <Register start="+0x000" size="4" name="SDHC_SSAR_CMD23" access="Read/Write" description="SDMA System Address / Argument 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="ARG2" description="Argument 2" />
+    </Register>
+    <Register start="+0x004" size="2" name="SDHC_BSR" access="Read/Write" description="Block Size" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="10" name="BLOCKSIZE" description="Transfer Block Size" />
+      <BitField start="12" size="3" name="BOUNDARY" description="SDMA Buffer Boundary">
+        <Enum name="4K" start="0x0" description="4k bytes" />
+        <Enum name="8K" start="0x1" description="8k bytes" />
+        <Enum name="16K" start="0x2" description="16k bytes" />
+        <Enum name="32K" start="0x3" description="32k bytes" />
+        <Enum name="64K" start="0x4" description="64k bytes" />
+        <Enum name="128K" start="0x5" description="128k bytes" />
+        <Enum name="256K" start="0x6" description="256k bytes" />
+        <Enum name="512K" start="0x7" description="512k bytes" />
+      </BitField>
+    </Register>
+    <Register start="+0x006" size="2" name="SDHC_BCR" access="Read/Write" description="Block Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BCNT" description="Blocks Count for Current Transfer" />
+    </Register>
+    <Register start="+0x008" size="4" name="SDHC_ARG1R" access="Read/Write" description="Argument 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="ARG" description="Argument 1" />
+    </Register>
+    <Register start="+0x00C" size="2" name="SDHC_TMR" access="Read/Write" description="Transfer Mode" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DMAEN" description="DMA Enable">
+        <Enum name="DISABLE" start="0x0" description="No data transfer or Non DMA data transfer" />
+        <Enum name="ENABLE" start="0x1" description="DMA data transfer" />
+      </BitField>
+      <BitField start="1" size="1" name="BCEN" description="Block Count Enable">
+        <Enum name="DISABLE" start="0x0" description="Disable" />
+        <Enum name="ENABLE" start="0x1" description="Enable" />
+      </BitField>
+      <BitField start="2" size="2" name="ACMDEN" description="Auto Command Enable">
+        <Enum name="DISABLED" start="0x0" description="Auto Command Disabled" />
+        <Enum name="CMD12" start="0x1" description="Auto CMD12 Enable" />
+        <Enum name="CMD23" start="0x2" description="Auto CMD23 Enable" />
+      </BitField>
+      <BitField start="4" size="1" name="DTDSEL" description="Data Transfer Direction Selection">
+        <Enum name="WRITE" start="0x0" description="Write (Host to Card)" />
+        <Enum name="READ" start="0x1" description="Read (Card to Host)" />
+      </BitField>
+      <BitField start="5" size="1" name="MSBSEL" description="Multi/Single Block Selection">
+        <Enum name="SINGLE" start="0x0" description="Single Block" />
+        <Enum name="MULTIPLE" start="0x1" description="Multiple Block" />
+      </BitField>
+    </Register>
+    <Register start="+0x00E" size="2" name="SDHC_CR" access="Read/Write" description="Command" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="RESPTYP" description="Response Type">
+        <Enum name="NONE" start="0x0" description="No response" />
+        <Enum name="136_BIT" start="0x1" description="136-bit response" />
+        <Enum name="48_BIT" start="0x2" description="48-bit response" />
+        <Enum name="48_BIT_BUSY" start="0x3" description="48-bit response check busy after response" />
+      </BitField>
+      <BitField start="3" size="1" name="CMDCCEN" description="Command CRC Check Enable">
+        <Enum name="DISABLE" start="0x0" description="Disable" />
+        <Enum name="ENABLE" start="0x1" description="Enable" />
+      </BitField>
+      <BitField start="4" size="1" name="CMDICEN" description="Command Index Check Enable">
+        <Enum name="DISABLE" start="0x0" description="Disable" />
+        <Enum name="ENABLE" start="0x1" description="Enable" />
+      </BitField>
+      <BitField start="5" size="1" name="DPSEL" description="Data Present Select">
+        <Enum name="NO_DATA" start="0x0" description="No Data Present" />
+        <Enum name="DATA" start="0x1" description="Data Present" />
+      </BitField>
+      <BitField start="6" size="2" name="CMDTYP" description="Command Type">
+        <Enum name="NORMAL" start="0x0" description="Other commands" />
+        <Enum name="SUSPEND" start="0x1" description="CMD52 for writing Bus Suspend in CCCR" />
+        <Enum name="RESUME" start="0x2" description="CMD52 for writing Function Select in CCCR" />
+        <Enum name="ABORT" start="0x3" description="CMD12, CMD52 for writing I/O Abort in CCCR" />
+      </BitField>
+      <BitField start="8" size="6" name="CMDIDX" description="Command Index" />
+    </Register>
+    <Register start="+0x010+0" size="4" name="SDHC_RR0" access="ReadOnly" description="Response" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CMDRESP" description="Command Response" />
+    </Register>
+    <Register start="+0x010+4" size="4" name="SDHC_RR1" access="ReadOnly" description="Response" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CMDRESP" description="Command Response" />
+    </Register>
+    <Register start="+0x010+8" size="4" name="SDHC_RR2" access="ReadOnly" description="Response" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CMDRESP" description="Command Response" />
+    </Register>
+    <Register start="+0x010+12" size="4" name="SDHC_RR3" access="ReadOnly" description="Response" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CMDRESP" description="Command Response" />
+    </Register>
+    <Register start="+0x020" size="4" name="SDHC_BDPR" access="Read/Write" description="Buffer Data Port" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="BUFDATA" description="Buffer Data" />
+    </Register>
+    <Register start="+0x024" size="4" name="SDHC_PSR" access="ReadOnly" description="Present State" reset_value="0x00F80000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMDINHC" description="Command Inhibit (CMD)">
+        <Enum name="CAN" start="0x0" description="Can issue command using only CMD line" />
+        <Enum name="CANNOT" start="0x1" description="Cannot issue command" />
+      </BitField>
+      <BitField start="1" size="1" name="CMDINHD" description="Command Inhibit (DAT)">
+        <Enum name="CAN" start="0x0" description="Can issue command which uses the DAT line" />
+        <Enum name="CANNOT" start="0x1" description="Cannot issue command which uses the DAT line" />
+      </BitField>
+      <BitField start="2" size="1" name="DLACT" description="DAT Line Active">
+        <Enum name="INACTIVE" start="0x0" description="DAT Line Inactive" />
+        <Enum name="ACTIVE" start="0x1" description="DAT Line Active" />
+      </BitField>
+      <BitField start="3" size="1" name="RTREQ" description="Re-Tuning Request">
+        <Enum name="OK" start="0x0" description="Fixed or well-tuned sampling clock" />
+        <Enum name="REQUIRED" start="0x1" description="Sampling clock needs re-tuning" />
+      </BitField>
+      <BitField start="8" size="1" name="WTACT" description="Write Transfer Active">
+        <Enum name="NO" start="0x0" description="No valid data" />
+        <Enum name="YES" start="0x1" description="Transferring data" />
+      </BitField>
+      <BitField start="9" size="1" name="RTACT" description="Read Transfer Active">
+        <Enum name="NO" start="0x0" description="No valid data" />
+        <Enum name="YES" start="0x1" description="Transferring data" />
+      </BitField>
+      <BitField start="10" size="1" name="BUFWREN" description="Buffer Write Enable">
+        <Enum name="DISABLE" start="0x0" description="Write disable" />
+        <Enum name="ENABLE" start="0x1" description="Write enable" />
+      </BitField>
+      <BitField start="11" size="1" name="BUFRDEN" description="Buffer Read Enable">
+        <Enum name="DISABLE" start="0x0" description="Read disable" />
+        <Enum name="ENABLE" start="0x1" description="Read enable" />
+      </BitField>
+      <BitField start="16" size="1" name="CARDINS" description="Card Inserted">
+        <Enum name="NO" start="0x0" description="Reset or Debouncing or No Card" />
+        <Enum name="YES" start="0x1" description="Card inserted" />
+      </BitField>
+      <BitField start="17" size="1" name="CARDSS" description="Card State Stable">
+        <Enum name="NO" start="0x0" description="Reset or Debouncing" />
+        <Enum name="YES" start="0x1" description="No Card or Insered" />
+      </BitField>
+      <BitField start="18" size="1" name="CARDDPL" description="Card Detect Pin Level">
+        <Enum name="NO" start="0x0" description="No card present (SDCD#=1)" />
+        <Enum name="YES" start="0x1" description="Card present (SDCD#=0)" />
+      </BitField>
+      <BitField start="19" size="1" name="WRPPL" description="Write Protect Pin Level">
+        <Enum name="PROTECTED" start="0x0" description="Write protected (SDWP#=0)" />
+        <Enum name="ENABLED" start="0x1" description="Write enabled (SDWP#=1)" />
+      </BitField>
+      <BitField start="20" size="4" name="DATLL" description="DAT[3:0] Line Level" />
+      <BitField start="24" size="1" name="CMDLL" description="CMD Line Level" />
+    </Register>
+    <Register start="+0x028" size="1" name="SDHC_HC1R" access="Read/Write" description="Host Control 1" reset_value="0xE00" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="LEDCTRL" description="LED Control">
+        <Enum name="OFF" start="0x0" description="LED off" />
+        <Enum name="ON" start="0x1" description="LED on" />
+      </BitField>
+      <BitField start="1" size="1" name="DW" description="Data Width">
+        <Enum name="1BIT" start="0x0" description="1-bit mode" />
+        <Enum name="4BIT" start="0x1" description="4-bit mode" />
+      </BitField>
+      <BitField start="2" size="1" name="HSEN" description="High Speed Enable">
+        <Enum name="NORMAL" start="0x0" description="Normal Speed mode" />
+        <Enum name="HIGH" start="0x1" description="High Speed mode" />
+      </BitField>
+      <BitField start="3" size="2" name="DMASEL" description="DMA Select">
+        <Enum name="SDMA" start="0x0" description="SDMA is selected" />
+        <Enum name="32BIT" start="0x2" description="32-bit Address ADMA2 is selected" />
+      </BitField>
+      <BitField start="6" size="1" name="CARDDTL" description="Card Detect Test Level">
+        <Enum name="NO" start="0x0" description="No Card" />
+        <Enum name="YES" start="0x1" description="Card Inserted" />
+      </BitField>
+      <BitField start="7" size="1" name="CARDDSEL" description="Card Detect Signal Selection">
+        <Enum name="NORMAL" start="0x0" description="SDCD# is selected (for normal use)" />
+        <Enum name="TEST" start="0x1" description="The Card Select Test Level is selected (for test purpose)" />
+      </BitField>
+    </Register>
+    <Register start="+0x028" size="1" name="SDHC_HC1R_EMMC" access="Read/Write" description="Host Control 1" reset_value="0xE00" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="DW" description="Data Width">
+        <Enum name="1BIT" start="0x0" description="1-bit mode" />
+        <Enum name="4BIT" start="0x1" description="4-bit mode" />
+      </BitField>
+      <BitField start="2" size="1" name="HSEN" description="High Speed Enable">
+        <Enum name="NORMAL" start="0x0" description="Normal Speed mode" />
+        <Enum name="HIGH" start="0x1" description="High Speed mode" />
+      </BitField>
+      <BitField start="3" size="2" name="DMASEL" description="DMA Select">
+        <Enum name="SDMA" start="0x0" description="SDMA is selected" />
+        <Enum name="32BIT" start="0x2" description="32-bit Address ADMA2 is selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x029" size="1" name="SDHC_PCR" access="Read/Write" description="Power Control" reset_value="0x0E" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SDBPWR" description="SD Bus Power">
+        <Enum name="OFF" start="0x0" description="Power off" />
+        <Enum name="ON" start="0x1" description="Power on" />
+      </BitField>
+      <BitField start="1" size="3" name="SDBVSEL" description="SD Bus Voltage Select">
+        <Enum name="1V8" start="0x5" description="1.8V (Typ.)" />
+        <Enum name="3V0" start="0x6" description="3.0V (Typ.)" />
+        <Enum name="3V3" start="0x7" description="3.3V (Typ.)" />
+      </BitField>
+    </Register>
+    <Register start="+0x02A" size="1" name="SDHC_BGCR" access="Read/Write" description="Block Gap Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STPBGR" description="Stop at Block Gap Request">
+        <Enum name="TRANSFER" start="0x0" description="Transfer" />
+        <Enum name="STOP" start="0x1" description="Stop" />
+      </BitField>
+      <BitField start="1" size="1" name="CONTR" description="Continue Request">
+        <Enum name="GO_ON" start="0x0" description="Not affected" />
+        <Enum name="RESTART" start="0x1" description="Restart" />
+      </BitField>
+      <BitField start="2" size="1" name="RWCTRL" description="Read Wait Control">
+        <Enum name="DISABLE" start="0x0" description="Disable Read Wait Control" />
+        <Enum name="ENABLE" start="0x1" description="Enable Read Wait Control" />
+      </BitField>
+      <BitField start="3" size="1" name="INTBG" description="Interrupt at Block Gap">
+        <Enum name="DISABLED" start="0x0" description="Disabled" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+    </Register>
+    <Register start="+0x02A" size="1" name="SDHC_BGCR_EMMC" access="Read/Write" description="Block Gap Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STPBGR" description="Stop at Block Gap Request">
+        <Enum name="TRANSFER" start="0x0" description="Transfer" />
+        <Enum name="STOP" start="0x1" description="Stop" />
+      </BitField>
+      <BitField start="1" size="1" name="CONTR" description="Continue Request">
+        <Enum name="GO_ON" start="0x0" description="Not affected" />
+        <Enum name="RESTART" start="0x1" description="Restart" />
+      </BitField>
+    </Register>
+    <Register start="+0x02B" size="1" name="SDHC_WCR" access="Read/Write" description="Wakeup Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="WKENCINT" description="Wakeup Event Enable on Card Interrupt">
+        <Enum name="DISABLE" start="0x0" description="Disable" />
+        <Enum name="ENABLE" start="0x1" description="Enable" />
+      </BitField>
+      <BitField start="1" size="1" name="WKENCINS" description="Wakeup Event Enable on Card Insertion">
+        <Enum name="DISABLE" start="0x0" description="Disable" />
+        <Enum name="ENABLE" start="0x1" description="Enable" />
+      </BitField>
+      <BitField start="2" size="1" name="WKENCREM" description="Wakeup Event Enable on Card Removal">
+        <Enum name="DISABLE" start="0x0" description="Disable" />
+        <Enum name="ENABLE" start="0x1" description="Enable" />
+      </BitField>
+    </Register>
+    <Register start="+0x02C" size="2" name="SDHC_CCR" access="Read/Write" description="Clock Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INTCLKEN" description="Internal Clock Enable">
+        <Enum name="OFF" start="0x0" description="Stop" />
+        <Enum name="ON" start="0x1" description="Oscillate" />
+      </BitField>
+      <BitField start="1" size="1" name="INTCLKS" description="Internal Clock Stable">
+        <Enum name="NOT_READY" start="0x0" description="Not Ready" />
+        <Enum name="READY" start="0x1" description="Ready" />
+      </BitField>
+      <BitField start="2" size="1" name="SDCLKEN" description="SD Clock Enable">
+        <Enum name="DISABLE" start="0x0" description="Disable" />
+        <Enum name="ENABLE" start="0x1" description="Enable" />
+      </BitField>
+      <BitField start="5" size="1" name="CLKGSEL" description="Clock Generator Select">
+        <Enum name="DIV" start="0x0" description="Divided Clock Mode" />
+        <Enum name="PROG" start="0x1" description="Programmable Clock Mode" />
+      </BitField>
+      <BitField start="6" size="2" name="USDCLKFSEL" description="Upper Bits of SDCLK Frequency Select" />
+      <BitField start="8" size="8" name="SDCLKFSEL" description="SDCLK Frequency Select" />
+    </Register>
+    <Register start="+0x02E" size="1" name="SDHC_TCR" access="Read/Write" description="Timeout Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DTCVAL" description="Data Timeout Counter Value" />
+    </Register>
+    <Register start="+0x02F" size="1" name="SDHC_SRR" access="Read/Write" description="Software Reset" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRSTALL" description="Software Reset For All">
+        <Enum name="WORK" start="0x0" description="Work" />
+        <Enum name="RESET" start="0x1" description="Reset" />
+      </BitField>
+      <BitField start="1" size="1" name="SWRSTCMD" description="Software Reset For CMD Line">
+        <Enum name="WORK" start="0x0" description="Work" />
+        <Enum name="RESET" start="0x1" description="Reset" />
+      </BitField>
+      <BitField start="2" size="1" name="SWRSTDAT" description="Software Reset For DAT Line">
+        <Enum name="WORK" start="0x0" description="Work" />
+        <Enum name="RESET" start="0x1" description="Reset" />
+      </BitField>
+    </Register>
+    <Register start="+0x030" size="2" name="SDHC_NISTR" access="Read/Write" description="Normal Interrupt Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMDC" description="Command Complete">
+        <Enum name="NO" start="0x0" description="No command complete" />
+        <Enum name="YES" start="0x1" description="Command complete" />
+      </BitField>
+      <BitField start="1" size="1" name="TRFC" description="Transfer Complete">
+        <Enum name="NO" start="0x0" description="Not complete" />
+        <Enum name="YES" start="0x1" description="Command execution is completed" />
+      </BitField>
+      <BitField start="2" size="1" name="BLKGE" description="Block Gap Event">
+        <Enum name="NO" start="0x0" description="No Block Gap Event" />
+        <Enum name="STOP" start="0x1" description="Transaction stopped at block gap" />
+      </BitField>
+      <BitField start="3" size="1" name="DMAINT" description="DMA Interrupt">
+        <Enum name="NO" start="0x0" description="No DMA Interrupt" />
+        <Enum name="YES" start="0x1" description="DMA Interrupt is generated" />
+      </BitField>
+      <BitField start="4" size="1" name="BWRRDY" description="Buffer Write Ready">
+        <Enum name="NO" start="0x0" description="Not ready to write buffer" />
+        <Enum name="YES" start="0x1" description="Ready to write buffer" />
+      </BitField>
+      <BitField start="5" size="1" name="BRDRDY" description="Buffer Read Ready">
+        <Enum name="NO" start="0x0" description="Not ready to read buffer" />
+        <Enum name="YES" start="0x1" description="Ready to read buffer" />
+      </BitField>
+      <BitField start="6" size="1" name="CINS" description="Card Insertion">
+        <Enum name="NO" start="0x0" description="Card state stable or Debouncing" />
+        <Enum name="YES" start="0x1" description="Card inserted" />
+      </BitField>
+      <BitField start="7" size="1" name="CREM" description="Card Removal">
+        <Enum name="NO" start="0x0" description="Card state stable or Debouncing" />
+        <Enum name="YES" start="0x1" description="Card Removed" />
+      </BitField>
+      <BitField start="8" size="1" name="CINT" description="Card Interrupt">
+        <Enum name="NO" start="0x0" description="No Card Interrupt" />
+        <Enum name="YES" start="0x1" description="Generate Card Interrupt" />
+      </BitField>
+      <BitField start="15" size="1" name="ERRINT" description="Error Interrupt">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Error" />
+      </BitField>
+    </Register>
+    <Register start="+0x030" size="2" name="SDHC_NISTR_EMMC" access="Read/Write" description="Normal Interrupt Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMDC" description="Command Complete">
+        <Enum name="NO" start="0x0" description="No command complete" />
+        <Enum name="YES" start="0x1" description="Command complete" />
+      </BitField>
+      <BitField start="1" size="1" name="TRFC" description="Transfer Complete">
+        <Enum name="NO" start="0x0" description="Not complete" />
+        <Enum name="YES" start="0x1" description="Command execution is completed" />
+      </BitField>
+      <BitField start="2" size="1" name="BLKGE" description="Block Gap Event">
+        <Enum name="NO" start="0x0" description="No Block Gap Event" />
+        <Enum name="STOP" start="0x1" description="Transaction stopped at block gap" />
+      </BitField>
+      <BitField start="3" size="1" name="DMAINT" description="DMA Interrupt">
+        <Enum name="NO" start="0x0" description="No DMA Interrupt" />
+        <Enum name="YES" start="0x1" description="DMA Interrupt is generated" />
+      </BitField>
+      <BitField start="4" size="1" name="BWRRDY" description="Buffer Write Ready">
+        <Enum name="NO" start="0x0" description="Not ready to write buffer" />
+        <Enum name="YES" start="0x1" description="Ready to write buffer" />
+      </BitField>
+      <BitField start="5" size="1" name="BRDRDY" description="Buffer Read Ready">
+        <Enum name="NO" start="0x0" description="Not ready to read buffer" />
+        <Enum name="YES" start="0x1" description="Ready to read buffer" />
+      </BitField>
+      <BitField start="14" size="1" name="BOOTAR" description="Boot Acknowledge Received" />
+      <BitField start="15" size="1" name="ERRINT" description="Error Interrupt">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Error" />
+      </BitField>
+    </Register>
+    <Register start="+0x032" size="2" name="SDHC_EISTR" access="Read/Write" description="Error Interrupt Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMDTEO" description="Command Timeout Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Timeout" />
+      </BitField>
+      <BitField start="1" size="1" name="CMDCRC" description="Command CRC Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="CRC Error Generated" />
+      </BitField>
+      <BitField start="2" size="1" name="CMDEND" description="Command End Bit Error">
+        <Enum name="NO" start="0x0" description="No error" />
+        <Enum name="YES" start="0x1" description="End Bit Error Generated" />
+      </BitField>
+      <BitField start="3" size="1" name="CMDIDX" description="Command Index Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Error" />
+      </BitField>
+      <BitField start="4" size="1" name="DATTEO" description="Data Timeout Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Timeout" />
+      </BitField>
+      <BitField start="5" size="1" name="DATCRC" description="Data CRC Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Error" />
+      </BitField>
+      <BitField start="6" size="1" name="DATEND" description="Data End Bit Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Error" />
+      </BitField>
+      <BitField start="7" size="1" name="CURLIM" description="Current Limit Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Power Fail" />
+      </BitField>
+      <BitField start="8" size="1" name="ACMD" description="Auto CMD Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Error" />
+      </BitField>
+      <BitField start="9" size="1" name="ADMA" description="ADMA Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Error" />
+      </BitField>
+    </Register>
+    <Register start="+0x032" size="2" name="SDHC_EISTR_EMMC" access="Read/Write" description="Error Interrupt Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMDTEO" description="Command Timeout Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Timeout" />
+      </BitField>
+      <BitField start="1" size="1" name="CMDCRC" description="Command CRC Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="CRC Error Generated" />
+      </BitField>
+      <BitField start="2" size="1" name="CMDEND" description="Command End Bit Error">
+        <Enum name="NO" start="0x0" description="No error" />
+        <Enum name="YES" start="0x1" description="End Bit Error Generated" />
+      </BitField>
+      <BitField start="3" size="1" name="CMDIDX" description="Command Index Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Error" />
+      </BitField>
+      <BitField start="4" size="1" name="DATTEO" description="Data Timeout Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Timeout" />
+      </BitField>
+      <BitField start="5" size="1" name="DATCRC" description="Data CRC Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Error" />
+      </BitField>
+      <BitField start="6" size="1" name="DATEND" description="Data End Bit Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Error" />
+      </BitField>
+      <BitField start="7" size="1" name="CURLIM" description="Current Limit Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Power Fail" />
+      </BitField>
+      <BitField start="8" size="1" name="ACMD" description="Auto CMD Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Error" />
+      </BitField>
+      <BitField start="9" size="1" name="ADMA" description="ADMA Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Error" />
+      </BitField>
+      <BitField start="12" size="1" name="BOOTAE" description="Boot Acknowledge Error">
+        <Enum name="0" start="0x0" description="FIFO contains at least one byte" />
+        <Enum name="1" start="0x1" description="FIFO is empty" />
+      </BitField>
+    </Register>
+    <Register start="+0x034" size="2" name="SDHC_NISTER" access="Read/Write" description="Normal Interrupt Status Enable" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMDC" description="Command Complete Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="1" size="1" name="TRFC" description="Transfer Complete Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="2" size="1" name="BLKGE" description="Block Gap Event Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="3" size="1" name="DMAINT" description="DMA Interrupt Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="4" size="1" name="BWRRDY" description="Buffer Write Ready Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="5" size="1" name="BRDRDY" description="Buffer Read Ready Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="6" size="1" name="CINS" description="Card Insertion Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="7" size="1" name="CREM" description="Card Removal Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="8" size="1" name="CINT" description="Card Interrupt Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+    </Register>
+    <Register start="+0x034" size="2" name="SDHC_NISTER_EMMC" access="Read/Write" description="Normal Interrupt Status Enable" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMDC" description="Command Complete Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="1" size="1" name="TRFC" description="Transfer Complete Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="2" size="1" name="BLKGE" description="Block Gap Event Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="3" size="1" name="DMAINT" description="DMA Interrupt Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="4" size="1" name="BWRRDY" description="Buffer Write Ready Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="5" size="1" name="BRDRDY" description="Buffer Read Ready Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="14" size="1" name="BOOTAR" description="Boot Acknowledge Received Status Enable" />
+    </Register>
+    <Register start="+0x036" size="2" name="SDHC_EISTER" access="Read/Write" description="Error Interrupt Status Enable" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMDTEO" description="Command Timeout Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="1" size="1" name="CMDCRC" description="Command CRC Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="2" size="1" name="CMDEND" description="Command End Bit Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="3" size="1" name="CMDIDX" description="Command Index Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="4" size="1" name="DATTEO" description="Data Timeout Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="5" size="1" name="DATCRC" description="Data CRC Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="6" size="1" name="DATEND" description="Data End Bit Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="7" size="1" name="CURLIM" description="Current Limit Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="8" size="1" name="ACMD" description="Auto CMD Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="9" size="1" name="ADMA" description="ADMA Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+    </Register>
+    <Register start="+0x036" size="2" name="SDHC_EISTER_EMMC" access="Read/Write" description="Error Interrupt Status Enable" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMDTEO" description="Command Timeout Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="1" size="1" name="CMDCRC" description="Command CRC Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="2" size="1" name="CMDEND" description="Command End Bit Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="3" size="1" name="CMDIDX" description="Command Index Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="4" size="1" name="DATTEO" description="Data Timeout Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="5" size="1" name="DATCRC" description="Data CRC Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="6" size="1" name="DATEND" description="Data End Bit Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="7" size="1" name="CURLIM" description="Current Limit Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="8" size="1" name="ACMD" description="Auto CMD Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="9" size="1" name="ADMA" description="ADMA Error Status Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="12" size="1" name="BOOTAE" description="Boot Acknowledge Error Status Enable" />
+    </Register>
+    <Register start="+0x038" size="2" name="SDHC_NISIER" access="Read/Write" description="Normal Interrupt Signal Enable" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMDC" description="Command Complete Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="1" size="1" name="TRFC" description="Transfer Complete Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="2" size="1" name="BLKGE" description="Block Gap Event Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="3" size="1" name="DMAINT" description="DMA Interrupt Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="4" size="1" name="BWRRDY" description="Buffer Write Ready Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="5" size="1" name="BRDRDY" description="Buffer Read Ready Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="6" size="1" name="CINS" description="Card Insertion Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="7" size="1" name="CREM" description="Card Removal Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="8" size="1" name="CINT" description="Card Interrupt Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+    </Register>
+    <Register start="+0x038" size="2" name="SDHC_NISIER_EMMC" access="Read/Write" description="Normal Interrupt Signal Enable" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMDC" description="Command Complete Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="1" size="1" name="TRFC" description="Transfer Complete Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="2" size="1" name="BLKGE" description="Block Gap Event Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="3" size="1" name="DMAINT" description="DMA Interrupt Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="4" size="1" name="BWRRDY" description="Buffer Write Ready Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="5" size="1" name="BRDRDY" description="Buffer Read Ready Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="14" size="1" name="BOOTAR" description="Boot Acknowledge Received Signal Enable" />
+    </Register>
+    <Register start="+0x03A" size="2" name="SDHC_EISIER" access="Read/Write" description="Error Interrupt Signal Enable" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMDTEO" description="Command Timeout Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="1" size="1" name="CMDCRC" description="Command CRC Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="2" size="1" name="CMDEND" description="Command End Bit Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="3" size="1" name="CMDIDX" description="Command Index Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="4" size="1" name="DATTEO" description="Data Timeout Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="5" size="1" name="DATCRC" description="Data CRC Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="6" size="1" name="DATEND" description="Data End Bit Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="7" size="1" name="CURLIM" description="Current Limit Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="8" size="1" name="ACMD" description="Auto CMD Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="9" size="1" name="ADMA" description="ADMA Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+    </Register>
+    <Register start="+0x03A" size="2" name="SDHC_EISIER_EMMC" access="Read/Write" description="Error Interrupt Signal Enable" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMDTEO" description="Command Timeout Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="1" size="1" name="CMDCRC" description="Command CRC Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="2" size="1" name="CMDEND" description="Command End Bit Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="3" size="1" name="CMDIDX" description="Command Index Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="4" size="1" name="DATTEO" description="Data Timeout Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="5" size="1" name="DATCRC" description="Data CRC Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="6" size="1" name="DATEND" description="Data End Bit Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="7" size="1" name="CURLIM" description="Current Limit Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="8" size="1" name="ACMD" description="Auto CMD Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="9" size="1" name="ADMA" description="ADMA Error Signal Enable">
+        <Enum name="MASKED" start="0x0" description="Masked" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="12" size="1" name="BOOTAE" description="Boot Acknowledge Error Signal Enable" />
+    </Register>
+    <Register start="+0x03C" size="2" name="SDHC_ACESR" access="ReadOnly" description="Auto CMD Error Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ACMD12NE" description="Auto CMD12 Not Executed">
+        <Enum name="EXEC" start="0x0" description="Executed" />
+        <Enum name="NOT_EXEC" start="0x1" description="Not executed" />
+      </BitField>
+      <BitField start="1" size="1" name="ACMDTEO" description="Auto CMD Timeout Error">
+        <Enum name="NO" start="0x0" description="No error" />
+        <Enum name="YES" start="0x1" description="Timeout" />
+      </BitField>
+      <BitField start="2" size="1" name="ACMDCRC" description="Auto CMD CRC Error">
+        <Enum name="NO" start="0x0" description="No error" />
+        <Enum name="YES" start="0x1" description="CRC Error Generated" />
+      </BitField>
+      <BitField start="3" size="1" name="ACMDEND" description="Auto CMD End Bit Error">
+        <Enum name="NO" start="0x0" description="No error" />
+        <Enum name="YES" start="0x1" description="End Bit Error Generated" />
+      </BitField>
+      <BitField start="4" size="1" name="ACMDIDX" description="Auto CMD Index Error">
+        <Enum name="NO" start="0x0" description="No error" />
+        <Enum name="YES" start="0x1" description="Error" />
+      </BitField>
+      <BitField start="7" size="1" name="CMDNI" description="Command not Issued By Auto CMD12 Error">
+        <Enum name="OK" start="0x0" description="No error" />
+        <Enum name="NOT_ISSUED" start="0x1" description="Not Issued" />
+      </BitField>
+    </Register>
+    <Register start="+0x03E" size="2" name="SDHC_HC2R" access="Read/Write" description="Host Control 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="UHSMS" description="UHS Mode Select">
+        <Enum name="SDR12" start="0x0" description="SDR12" />
+        <Enum name="SDR25" start="0x1" description="SDR25" />
+        <Enum name="SDR50" start="0x2" description="SDR50" />
+        <Enum name="SDR104" start="0x3" description="SDR104" />
+        <Enum name="DDR50" start="0x4" description="DDR50" />
+      </BitField>
+      <BitField start="3" size="1" name="VS18EN" description="1.8V Signaling Enable">
+        <Enum name="S33V" start="0x0" description="3.3V Signaling" />
+        <Enum name="S18V" start="0x1" description="1.8V Signaling" />
+      </BitField>
+      <BitField start="4" size="2" name="DRVSEL" description="Driver Strength Select">
+        <Enum name="B" start="0x0" description="Driver Type B is Selected (Default)" />
+        <Enum name="A" start="0x1" description="Driver Type A is Selected" />
+        <Enum name="C" start="0x2" description="Driver Type C is Selected" />
+        <Enum name="D" start="0x3" description="Driver Type D is Selected" />
+      </BitField>
+      <BitField start="6" size="1" name="EXTUN" description="Execute Tuning">
+        <Enum name="NO" start="0x0" description="Not Tuned or Tuning Completed" />
+        <Enum name="REQUESTED" start="0x1" description="Execute Tuning" />
+      </BitField>
+      <BitField start="7" size="1" name="SLCKSEL" description="Sampling Clock Select">
+        <Enum name="FIXED" start="0x0" description="Fixed clock is used to sample data" />
+        <Enum name="TUNED" start="0x1" description="Tuned clock is used to sample data" />
+      </BitField>
+      <BitField start="14" size="1" name="ASINTEN" description="Asynchronous Interrupt Enable">
+        <Enum name="DISABLED" start="0x0" description="Disabled" />
+        <Enum name="ENABLED" start="0x1" description="Enabled" />
+      </BitField>
+      <BitField start="15" size="1" name="PVALEN" description="Preset Value Enable">
+        <Enum name="HOST" start="0x0" description="SDCLK and Driver Strength are controlled by Host Controller" />
+        <Enum name="AUTO" start="0x1" description="Automatic Selection by Preset Value is Enabled" />
+      </BitField>
+    </Register>
+    <Register start="+0x03E" size="2" name="SDHC_HC2R_EMMC" access="Read/Write" description="Host Control 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="HS200EN" description="HS200 Mode Enable">
+        <Enum name="SDR12" start="0x0" description="SDR12" />
+        <Enum name="SDR25" start="0x1" description="SDR25" />
+        <Enum name="SDR50" start="0x2" description="SDR50" />
+        <Enum name="SDR104" start="0x3" description="SDR104" />
+        <Enum name="DDR50" start="0x4" description="DDR50" />
+      </BitField>
+      <BitField start="4" size="2" name="DRVSEL" description="Driver Strength Select">
+        <Enum name="B" start="0x0" description="Driver Type B is Selected (Default)" />
+        <Enum name="A" start="0x1" description="Driver Type A is Selected" />
+        <Enum name="C" start="0x2" description="Driver Type C is Selected" />
+        <Enum name="D" start="0x3" description="Driver Type D is Selected" />
+      </BitField>
+      <BitField start="6" size="1" name="EXTUN" description="Execute Tuning">
+        <Enum name="NO" start="0x0" description="Not Tuned or Tuning Completed" />
+        <Enum name="REQUESTED" start="0x1" description="Execute Tuning" />
+      </BitField>
+      <BitField start="7" size="1" name="SLCKSEL" description="Sampling Clock Select">
+        <Enum name="FIXED" start="0x0" description="Fixed clock is used to sample data" />
+        <Enum name="TUNED" start="0x1" description="Tuned clock is used to sample data" />
+      </BitField>
+      <BitField start="15" size="1" name="PVALEN" description="Preset Value Enable">
+        <Enum name="HOST" start="0x0" description="SDCLK and Driver Strength are controlled by Host Controller" />
+        <Enum name="AUTO" start="0x1" description="Automatic Selection by Preset Value is Enabled" />
+      </BitField>
+    </Register>
+    <Register start="+0x040" size="4" name="SDHC_CA0R" access="ReadOnly" description="Capabilities 0" reset_value="0x27E80080" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="TEOCLKF" description="Timeout Clock Frequency">
+        <Enum name="OTHER" start="0x0" description="Get information via another method" />
+      </BitField>
+      <BitField start="7" size="1" name="TEOCLKU" description="Timeout Clock Unit">
+        <Enum name="KHZ" start="0x0" description="kHz" />
+        <Enum name="MHZ" start="0x1" description="MHz" />
+      </BitField>
+      <BitField start="8" size="8" name="BASECLKF" description="Base Clock Frequency">
+        <Enum name="OTHER" start="0x0" description="Get information via another method" />
+      </BitField>
+      <BitField start="16" size="2" name="MAXBLKL" description="Max Block Length">
+        <Enum name="512" start="0x0" description="512 bytes" />
+        <Enum name="1024" start="0x1" description="1024 bytes" />
+        <Enum name="2048" start="0x2" description="2048 bytes" />
+      </BitField>
+      <BitField start="18" size="1" name="ED8SUP" description="8-bit Support for Embedded Device">
+        <Enum name="NO" start="0x0" description="8-bit Bus Width not Supported" />
+        <Enum name="YES" start="0x1" description="8-bit Bus Width Supported" />
+      </BitField>
+      <BitField start="19" size="1" name="ADMA2SUP" description="ADMA2 Support">
+        <Enum name="NO" start="0x0" description="ADMA2 not Supported" />
+        <Enum name="YES" start="0x1" description="ADMA2 Supported" />
+      </BitField>
+      <BitField start="21" size="1" name="HSSUP" description="High Speed Support">
+        <Enum name="NO" start="0x0" description="High Speed not Supported" />
+        <Enum name="YES" start="0x1" description="High Speed Supported" />
+      </BitField>
+      <BitField start="22" size="1" name="SDMASUP" description="SDMA Support">
+        <Enum name="NO" start="0x0" description="SDMA not Supported" />
+        <Enum name="YES" start="0x1" description="SDMA Supported" />
+      </BitField>
+      <BitField start="23" size="1" name="SRSUP" description="Suspend/Resume Support">
+        <Enum name="NO" start="0x0" description="Suspend/Resume not Supported" />
+        <Enum name="YES" start="0x1" description="Suspend/Resume Supported" />
+      </BitField>
+      <BitField start="24" size="1" name="V33VSUP" description="Voltage Support 3.3V">
+        <Enum name="NO" start="0x0" description="3.3V Not Supported" />
+        <Enum name="YES" start="0x1" description="3.3V Supported" />
+      </BitField>
+      <BitField start="25" size="1" name="V30VSUP" description="Voltage Support 3.0V">
+        <Enum name="NO" start="0x0" description="3.0V Not Supported" />
+        <Enum name="YES" start="0x1" description="3.0V Supported" />
+      </BitField>
+      <BitField start="26" size="1" name="V18VSUP" description="Voltage Support 1.8V">
+        <Enum name="NO" start="0x0" description="1.8V Not Supported" />
+        <Enum name="YES" start="0x1" description="1.8V Supported" />
+      </BitField>
+      <BitField start="28" size="1" name="SB64SUP" description="64-Bit System Bus Support">
+        <Enum name="NO" start="0x0" description="32-bit Address Descriptors and System Bus" />
+        <Enum name="YES" start="0x1" description="64-bit Address Descriptors and System Bus" />
+      </BitField>
+      <BitField start="29" size="1" name="ASINTSUP" description="Asynchronous Interrupt Support">
+        <Enum name="NO" start="0x0" description="Asynchronous Interrupt not Supported" />
+        <Enum name="YES" start="0x1" description="Asynchronous Interrupt supported" />
+      </BitField>
+      <BitField start="30" size="2" name="SLTYPE" description="Slot Type">
+        <Enum name="REMOVABLE" start="0x0" description="Removable Card Slot" />
+        <Enum name="EMBEDDED" start="0x1" description="Embedded Slot for One Device" />
+      </BitField>
+    </Register>
+    <Register start="+0x044" size="4" name="SDHC_CA1R" access="ReadOnly" description="Capabilities 1" reset_value="0x00000070" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SDR50SUP" description="SDR50 Support">
+        <Enum name="NO" start="0x0" description="SDR50 is Not Supported" />
+        <Enum name="YES" start="0x1" description="SDR50 is Supported" />
+      </BitField>
+      <BitField start="1" size="1" name="SDR104SUP" description="SDR104 Support">
+        <Enum name="NO" start="0x0" description="SDR104 is Not Supported" />
+        <Enum name="YES" start="0x1" description="SDR104 is Supported" />
+      </BitField>
+      <BitField start="2" size="1" name="DDR50SUP" description="DDR50 Support">
+        <Enum name="NO" start="0x0" description="DDR50 is Not Supported" />
+        <Enum name="YES" start="0x1" description="DDR50 is Supported" />
+      </BitField>
+      <BitField start="4" size="1" name="DRVASUP" description="Driver Type A Support">
+        <Enum name="NO" start="0x0" description="Driver Type A is Not Supported" />
+        <Enum name="YES" start="0x1" description="Driver Type A is Supported" />
+      </BitField>
+      <BitField start="5" size="1" name="DRVCSUP" description="Driver Type C Support">
+        <Enum name="NO" start="0x0" description="Driver Type C is Not Supported" />
+        <Enum name="YES" start="0x1" description="Driver Type C is Supported" />
+      </BitField>
+      <BitField start="6" size="1" name="DRVDSUP" description="Driver Type D Support">
+        <Enum name="NO" start="0x0" description="Driver Type D is Not Supported" />
+        <Enum name="YES" start="0x1" description="Driver Type D is Supported" />
+      </BitField>
+      <BitField start="8" size="4" name="TCNTRT" description="Timer Count for Re-Tuning">
+        <Enum name="DISABLED" start="0x0" description="Re-Tuning Timer disabled" />
+        <Enum name="1S" start="0x1" description="1 second" />
+        <Enum name="2S" start="0x2" description="2 seconds" />
+        <Enum name="4S" start="0x3" description="4 seconds" />
+        <Enum name="8S" start="0x4" description="8 seconds" />
+        <Enum name="16S" start="0x5" description="16 seconds" />
+        <Enum name="32S" start="0x6" description="32 seconds" />
+        <Enum name="64S" start="0x7" description="64 seconds" />
+        <Enum name="128S" start="0x8" description="128 seconds" />
+        <Enum name="256S" start="0x9" description="256 seconds" />
+        <Enum name="512S" start="0xa" description="512 seconds" />
+        <Enum name="1024S" start="0xb" description="1024 seconds" />
+        <Enum name="OTHER" start="0xf" description="Get information from other source" />
+      </BitField>
+      <BitField start="13" size="1" name="TSDR50" description="Use Tuning for SDR50">
+        <Enum name="NO" start="0x0" description="SDR50 does not require tuning" />
+        <Enum name="YES" start="0x1" description="SDR50 requires tuning" />
+      </BitField>
+      <BitField start="16" size="8" name="CLKMULT" description="Clock Multiplier">
+        <Enum name="NO" start="0x0" description="Clock Multiplier is Not Supported" />
+      </BitField>
+    </Register>
+    <Register start="+0x048" size="4" name="SDHC_MCCAR" access="ReadOnly" description="Maximum Current Capabilities" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="MAXCUR33V" description="Maximum Current for 3.3V">
+        <Enum name="OTHER" start="0x0" description="Get information via another method" />
+        <Enum name="4MA" start="0x1" description="4mA" />
+        <Enum name="8MA" start="0x2" description="8mA" />
+        <Enum name="12MA" start="0x3" description="12mA" />
+      </BitField>
+      <BitField start="8" size="8" name="MAXCUR30V" description="Maximum Current for 3.0V">
+        <Enum name="OTHER" start="0x0" description="Get information via another method" />
+        <Enum name="4MA" start="0x1" description="4mA" />
+        <Enum name="8MA" start="0x2" description="8mA" />
+        <Enum name="12MA" start="0x3" description="12mA" />
+      </BitField>
+      <BitField start="16" size="8" name="MAXCUR18V" description="Maximum Current for 1.8V">
+        <Enum name="OTHER" start="0x0" description="Get information via another method" />
+        <Enum name="4MA" start="0x1" description="4mA" />
+        <Enum name="8MA" start="0x2" description="8mA" />
+        <Enum name="12MA" start="0x3" description="12mA" />
+      </BitField>
+    </Register>
+    <Register start="+0x050" size="2" name="SDHC_FERACES" access="WriteOnly" description="Force Event for Auto CMD Error Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ACMD12NE" description="Force Event for Auto CMD12 Not Executed">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+      <BitField start="1" size="1" name="ACMDTEO" description="Force Event for Auto CMD Timeout Error">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+      <BitField start="2" size="1" name="ACMDCRC" description="Force Event for Auto CMD CRC Error">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+      <BitField start="3" size="1" name="ACMDEND" description="Force Event for Auto CMD End Bit Error">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+      <BitField start="4" size="1" name="ACMDIDX" description="Force Event for Auto CMD Index Error">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+      <BitField start="7" size="1" name="CMDNI" description="Force Event for Command Not Issued By Auto CMD12 Error">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+    </Register>
+    <Register start="+0x052" size="2" name="SDHC_FEREIS" access="WriteOnly" description="Force Event for Error Interrupt Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CMDTEO" description="Force Event for Command Timeout Error">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+      <BitField start="1" size="1" name="CMDCRC" description="Force Event for Command CRC Error">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+      <BitField start="2" size="1" name="CMDEND" description="Force Event for Command End Bit Error">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+      <BitField start="3" size="1" name="CMDIDX" description="Force Event for Command Index Error">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+      <BitField start="4" size="1" name="DATTEO" description="Force Event for Data Timeout Error">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+      <BitField start="5" size="1" name="DATCRC" description="Force Event for Data CRC Error">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+      <BitField start="6" size="1" name="DATEND" description="Force Event for Data End Bit Error">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+      <BitField start="7" size="1" name="CURLIM" description="Force Event for Current Limit Error">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+      <BitField start="8" size="1" name="ACMD" description="Force Event for Auto CMD Error">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+      <BitField start="9" size="1" name="ADMA" description="Force Event for ADMA Error">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+      <BitField start="12" size="1" name="BOOTAE" description="Force Event for Boot Acknowledge Error">
+        <Enum name="NO" start="0x0" description="No Interrupt" />
+        <Enum name="YES" start="0x1" description="Interrupt is generated" />
+      </BitField>
+    </Register>
+    <Register start="+0x054" size="1" name="SDHC_AESR" access="ReadOnly" description="ADMA Error Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="ERRST" description="ADMA Error State">
+        <Enum name="STOP" start="0x0" description="ST_STOP (Stop DMA)" />
+        <Enum name="FDS" start="0x1" description="ST_FDS (Fetch Descriptor)" />
+        <Enum name="TFR" start="0x3" description="ST_TFR (Transfer Data)" />
+      </BitField>
+      <BitField start="2" size="1" name="LMIS" description="ADMA Length Mismatch Error">
+        <Enum name="NO" start="0x0" description="No Error" />
+        <Enum name="YES" start="0x1" description="Error" />
+      </BitField>
+    </Register>
+    <Register start="+0x058+0" size="4" name="SDHC_ASAR0" access="Read/Write" description="ADMA System Address n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="ADMASA" description="ADMA System Address" />
+    </Register>
+    <Register start="+0x060+0" size="2" name="SDHC_PVR0" access="Read/Write" description="Preset Value n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="10" name="SDCLKFSEL" description="SDCLK Frequency Select Value for Initialization" />
+      <BitField start="10" size="1" name="CLKGSEL" description="Clock Generator Select Value for Initialization">
+        <Enum name="DIV" start="0x0" description="Host Controller Ver2.00 Compatible Clock Generator (Divider)" />
+        <Enum name="PROG" start="0x1" description="Programmable Clock Generator" />
+      </BitField>
+      <BitField start="14" size="2" name="DRVSEL" description="Driver Strength Select Value for Initialization">
+        <Enum name="B" start="0x0" description="Driver Type B is Selected" />
+        <Enum name="A" start="0x1" description="Driver Type A is Selected" />
+        <Enum name="C" start="0x2" description="Driver Type C is Selected" />
+        <Enum name="D" start="0x3" description="Driver Type D is Selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x060+2" size="2" name="SDHC_PVR1" access="Read/Write" description="Preset Value n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="10" name="SDCLKFSEL" description="SDCLK Frequency Select Value for Initialization" />
+      <BitField start="10" size="1" name="CLKGSEL" description="Clock Generator Select Value for Initialization">
+        <Enum name="DIV" start="0x0" description="Host Controller Ver2.00 Compatible Clock Generator (Divider)" />
+        <Enum name="PROG" start="0x1" description="Programmable Clock Generator" />
+      </BitField>
+      <BitField start="14" size="2" name="DRVSEL" description="Driver Strength Select Value for Initialization">
+        <Enum name="B" start="0x0" description="Driver Type B is Selected" />
+        <Enum name="A" start="0x1" description="Driver Type A is Selected" />
+        <Enum name="C" start="0x2" description="Driver Type C is Selected" />
+        <Enum name="D" start="0x3" description="Driver Type D is Selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x060+4" size="2" name="SDHC_PVR2" access="Read/Write" description="Preset Value n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="10" name="SDCLKFSEL" description="SDCLK Frequency Select Value for Initialization" />
+      <BitField start="10" size="1" name="CLKGSEL" description="Clock Generator Select Value for Initialization">
+        <Enum name="DIV" start="0x0" description="Host Controller Ver2.00 Compatible Clock Generator (Divider)" />
+        <Enum name="PROG" start="0x1" description="Programmable Clock Generator" />
+      </BitField>
+      <BitField start="14" size="2" name="DRVSEL" description="Driver Strength Select Value for Initialization">
+        <Enum name="B" start="0x0" description="Driver Type B is Selected" />
+        <Enum name="A" start="0x1" description="Driver Type A is Selected" />
+        <Enum name="C" start="0x2" description="Driver Type C is Selected" />
+        <Enum name="D" start="0x3" description="Driver Type D is Selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x060+6" size="2" name="SDHC_PVR3" access="Read/Write" description="Preset Value n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="10" name="SDCLKFSEL" description="SDCLK Frequency Select Value for Initialization" />
+      <BitField start="10" size="1" name="CLKGSEL" description="Clock Generator Select Value for Initialization">
+        <Enum name="DIV" start="0x0" description="Host Controller Ver2.00 Compatible Clock Generator (Divider)" />
+        <Enum name="PROG" start="0x1" description="Programmable Clock Generator" />
+      </BitField>
+      <BitField start="14" size="2" name="DRVSEL" description="Driver Strength Select Value for Initialization">
+        <Enum name="B" start="0x0" description="Driver Type B is Selected" />
+        <Enum name="A" start="0x1" description="Driver Type A is Selected" />
+        <Enum name="C" start="0x2" description="Driver Type C is Selected" />
+        <Enum name="D" start="0x3" description="Driver Type D is Selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x060+8" size="2" name="SDHC_PVR4" access="Read/Write" description="Preset Value n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="10" name="SDCLKFSEL" description="SDCLK Frequency Select Value for Initialization" />
+      <BitField start="10" size="1" name="CLKGSEL" description="Clock Generator Select Value for Initialization">
+        <Enum name="DIV" start="0x0" description="Host Controller Ver2.00 Compatible Clock Generator (Divider)" />
+        <Enum name="PROG" start="0x1" description="Programmable Clock Generator" />
+      </BitField>
+      <BitField start="14" size="2" name="DRVSEL" description="Driver Strength Select Value for Initialization">
+        <Enum name="B" start="0x0" description="Driver Type B is Selected" />
+        <Enum name="A" start="0x1" description="Driver Type A is Selected" />
+        <Enum name="C" start="0x2" description="Driver Type C is Selected" />
+        <Enum name="D" start="0x3" description="Driver Type D is Selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x060+10" size="2" name="SDHC_PVR5" access="Read/Write" description="Preset Value n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="10" name="SDCLKFSEL" description="SDCLK Frequency Select Value for Initialization" />
+      <BitField start="10" size="1" name="CLKGSEL" description="Clock Generator Select Value for Initialization">
+        <Enum name="DIV" start="0x0" description="Host Controller Ver2.00 Compatible Clock Generator (Divider)" />
+        <Enum name="PROG" start="0x1" description="Programmable Clock Generator" />
+      </BitField>
+      <BitField start="14" size="2" name="DRVSEL" description="Driver Strength Select Value for Initialization">
+        <Enum name="B" start="0x0" description="Driver Type B is Selected" />
+        <Enum name="A" start="0x1" description="Driver Type A is Selected" />
+        <Enum name="C" start="0x2" description="Driver Type C is Selected" />
+        <Enum name="D" start="0x3" description="Driver Type D is Selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x060+12" size="2" name="SDHC_PVR6" access="Read/Write" description="Preset Value n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="10" name="SDCLKFSEL" description="SDCLK Frequency Select Value for Initialization" />
+      <BitField start="10" size="1" name="CLKGSEL" description="Clock Generator Select Value for Initialization">
+        <Enum name="DIV" start="0x0" description="Host Controller Ver2.00 Compatible Clock Generator (Divider)" />
+        <Enum name="PROG" start="0x1" description="Programmable Clock Generator" />
+      </BitField>
+      <BitField start="14" size="2" name="DRVSEL" description="Driver Strength Select Value for Initialization">
+        <Enum name="B" start="0x0" description="Driver Type B is Selected" />
+        <Enum name="A" start="0x1" description="Driver Type A is Selected" />
+        <Enum name="C" start="0x2" description="Driver Type C is Selected" />
+        <Enum name="D" start="0x3" description="Driver Type D is Selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x060+14" size="2" name="SDHC_PVR7" access="Read/Write" description="Preset Value n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="10" name="SDCLKFSEL" description="SDCLK Frequency Select Value for Initialization" />
+      <BitField start="10" size="1" name="CLKGSEL" description="Clock Generator Select Value for Initialization">
+        <Enum name="DIV" start="0x0" description="Host Controller Ver2.00 Compatible Clock Generator (Divider)" />
+        <Enum name="PROG" start="0x1" description="Programmable Clock Generator" />
+      </BitField>
+      <BitField start="14" size="2" name="DRVSEL" description="Driver Strength Select Value for Initialization">
+        <Enum name="B" start="0x0" description="Driver Type B is Selected" />
+        <Enum name="A" start="0x1" description="Driver Type A is Selected" />
+        <Enum name="C" start="0x2" description="Driver Type C is Selected" />
+        <Enum name="D" start="0x3" description="Driver Type D is Selected" />
+      </BitField>
+    </Register>
+    <Register start="+0x0FC" size="2" name="SDHC_SISR" access="ReadOnly" description="Slot Interrupt Status" reset_value="0x20000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INTSSL" description="Interrupt Signal for Each Slot" />
+    </Register>
+    <Register start="+0x0FE" size="2" name="SDHC_HCVR" access="ReadOnly" description="Host Controller Version" reset_value="0x1802" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="SVER" description="Spec Version" />
+      <BitField start="8" size="8" name="VVER" description="Vendor Version" />
+    </Register>
+    <Register start="+0x204" size="1" name="SDHC_MC1R" access="Read/Write" description="MMC Control 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CMDTYP" description="e.MMC Command Type">
+        <Enum name="NORMAL" start="0x0" description="Not a MMC specific command" />
+        <Enum name="WAITIRQ" start="0x1" description="Wait IRQ Command" />
+        <Enum name="STREAM" start="0x2" description="Stream Command" />
+        <Enum name="BOOT" start="0x3" description="Boot Command" />
+      </BitField>
+      <BitField start="3" size="1" name="DDR" description="e.MMC HSDDR Mode" />
+      <BitField start="4" size="1" name="OPD" description="e.MMC Open Drain Mode" />
+      <BitField start="5" size="1" name="BOOTA" description="e.MMC Boot Acknowledge Enable" />
+      <BitField start="6" size="1" name="RSTN" description="e.MMC Reset Signal" />
+      <BitField start="7" size="1" name="FCD" description="e.MMC Force Card Detect" />
+    </Register>
+    <Register start="+0x205" size="1" name="SDHC_MC2R" access="WriteOnly" description="MMC Control 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SRESP" description="e.MMC Abort Wait IRQ" />
+      <BitField start="1" size="1" name="ABOOT" description="e.MMC Abort Boot" />
+    </Register>
+    <Register start="+0x208" size="4" name="SDHC_ACR" access="Read/Write" description="AHB Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="BMAX" description="AHB Maximum Burst">
+        <Enum name="INCR16" start="0x0" />
+        <Enum name="INCR8" start="0x1" />
+        <Enum name="INCR4" start="0x2" />
+        <Enum name="SINGLE" start="0x3" />
+      </BitField>
+    </Register>
+    <Register start="+0x20C" size="4" name="SDHC_CC2R" access="Read/Write" description="Clock Control 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="FSDCLKD" description="Force SDCK Disabled">
+        <Enum name="NOEFFECT" start="0x0" description="No effect" />
+        <Enum name="DISABLE" start="0x1" description="SDCLK can be stopped at any time after DATA transfer.SDCLK enable forcing for 8 SDCLK cycles is disabled" />
+      </BitField>
+    </Register>
+    <Register start="+0x230" size="4" name="SDHC_CACR" access="Read/Write" description="Capabilities Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CAPWREN" description="Capabilities Registers Write Enable (Required to write the correct frequencies in the Capabilities Registers)" />
+      <BitField start="8" size="8" name="KEY" description="Key (0x46)" />
+    </Register>
+    <Register start="+0x234" size="1" name="SDHC_DBGR" access="Read/Write" description="Debug" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="NIDBG" description="Non-intrusive debug enable">
+        <Enum name="IDBG" start="0x0" description="Debugging is intrusive (reads of BDPR from debugger are considered and increment the internal buffer pointer)" />
+        <Enum name="NIDBG" start="0x1" description="Debugging is not intrusive (reads of BDPR from debugger are discarded and do not increment the internal buffer pointer)" />
+      </BitField>
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM0 (I2CM)" start="0x40003000" description="Serial Communication Interface 0">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CM Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="22" size="1" name="MEXTTOEN" description="Master SCL Low Extend Timeout" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="28" size="2" name="INACTOUT" description="Inactive Time-Out" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CM Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="QCEN" description="Quick Command Enable" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="I2CM Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="4" name="SERCOM_BAUD" access="Read/Write" description="I2CM Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+      <BitField start="8" size="8" name="BAUDLOW" description="Baud Rate Value Low" />
+      <BitField start="16" size="8" name="HSBAUD" description="High Speed Baud Rate Value" />
+      <BitField start="24" size="8" name="HSBAUDLOW" description="High Speed Baud Rate Value Low" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CM Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Disable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CM Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Enable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CM Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CM Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="ARBLOST" description="Arbitration Lost" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="4" size="2" name="BUSSTATE" description="Bus State" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="8" size="1" name="MEXTTOUT" description="Master SCL Low Extend Timeout" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="LENERR" description="Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CM Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="SYSOP" description="System Operation Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="Length Synchronization Busy" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CM Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="11" name="ADDR" description="Address Value" />
+      <BitField start="13" size="1" name="LENEN" description="Length Enable" />
+      <BitField start="14" size="1" name="HS" description="High Speed Mode" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="16" size="8" name="LEN" description="Length" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="I2CM Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="I2CM Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM0 (I2CS)" start="0x40003000" description="Serial Communication Interface 0">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CS Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CS Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="GCMD" description="PMBus Group Command" />
+      <BitField start="10" size="1" name="AACKEN" description="Automatic Address Acknowledge" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="I2CS Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SDASETUP" description="SDA Setup Time" />
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CS Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Disable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Disable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CS Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Enable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Enable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CS Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CS Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="COLL" description="Transmit Collision" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="3" size="1" name="DIR" description="Read/Write Direction" />
+      <BitField start="4" size="1" name="SR" description="Repeated Start" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="HS" description="High Speed" />
+      <BitField start="11" size="1" name="LENERR" description="Transaction Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CS Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="Length Synchronization Busy" />
+    </Register>
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="I2CS Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="1" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CS Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="GENCEN" description="General Call Address Enable" />
+      <BitField start="1" size="10" name="ADDR" description="Address Value" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="17" size="10" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="I2CS Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM0 (SPI)" start="0x40003000" description="Serial Communication Interface 0">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="SPI Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="16" size="2" name="DOPO" description="Data Out Pinout" />
+      <BitField start="20" size="2" name="DIPO" description="Data In Pinout" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CPHA" description="Clock Phase" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="SPI Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="PLOADEN" description="Data Preload Enable" />
+      <BitField start="9" size="1" name="SSDE" description="Slave Select Low Detect Enable" />
+      <BitField start="13" size="1" name="MSSEN" description="Master Slave Select Enable" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="SPI Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="ICSPACE" description="Inter-Character Spacing" />
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="1" name="SERCOM_BAUD" access="Read/Write" description="SPI Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="SPI Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="SPI Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="SPI Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Flag" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="SPI Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="11" size="1" name="LENERR" description="Transaction Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="SPI Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="LENGTH Synchronization Busy" />
+    </Register>
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="SPI Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="1" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="SPI Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="ADDR" description="Address Value" />
+      <BitField start="16" size="8" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="SPI Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="SPI Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM0 (USART)" start="0x40003000" description="Serial Communication Interface 0">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="USART Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="9" size="1" name="TXINV" description="Transmit Data Invert" />
+      <BitField start="10" size="1" name="RXINV" description="Receive Data Invert" />
+      <BitField start="13" size="3" name="SAMPR" description="Sample" />
+      <BitField start="16" size="2" name="TXPO" description="Transmit Data Pinout" />
+      <BitField start="20" size="2" name="RXPO" description="Receive Data Pinout" />
+      <BitField start="22" size="2" name="SAMPA" description="Sample Adjustment" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CMODE" description="Communication Mode" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="USART Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="SBMODE" description="Stop Bit Mode" />
+      <BitField start="8" size="1" name="COLDEN" description="Collision Detection Enable" />
+      <BitField start="9" size="1" name="SFDE" description="Start of Frame Detection Enable" />
+      <BitField start="10" size="1" name="ENC" description="Encoding Format" />
+      <BitField start="13" size="1" name="PMODE" description="Parity Mode" />
+      <BitField start="16" size="1" name="TXEN" description="Transmitter Enable" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+      <BitField start="24" size="2" name="LINCMD" description="LIN Command" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="USART Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="GTIME" description="Guard Time" />
+      <BitField start="8" size="2" name="BRKLEN" description="LIN Master Break Length" />
+      <BitField start="10" size="2" name="HDRDLY" description="LIN Master Header Delay" />
+      <BitField start="16" size="1" name="INACK" description="Inhibit Not Acknowledge" />
+      <BitField start="17" size="1" name="DSNACK" description="Disable Successive NACK" />
+      <BitField start="20" size="3" name="MAXITER" description="Maximum Iterations" />
+      <BitField start="24" size="2" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRAC_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRACFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_USARTFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0E" size="1" name="SERCOM_RXPL" access="Read/Write" description="USART Receive Pulse Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="RXPL" description="Receive Pulse Length" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="USART Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Disable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Disable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="USART Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Enable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Enable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="USART Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="USART Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PERR" description="Parity Error" />
+      <BitField start="1" size="1" name="FERR" description="Frame Error" />
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="3" size="1" name="CTS" description="Clear To Send" />
+      <BitField start="4" size="1" name="ISF" description="Inconsistent Sync Field" />
+      <BitField start="5" size="1" name="COLL" description="Collision Detected" />
+      <BitField start="6" size="1" name="TXE" description="Transmitter Empty" />
+      <BitField start="7" size="1" name="ITER" description="Maximum Number of Repetitions Reached" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="USART Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+      <BitField start="3" size="1" name="RXERRCNT" description="RXERRCNT Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="LENGTH Synchronization Busy" />
+    </Register>
+    <Register start="+0x20" size="1" name="SERCOM_RXERRCNT" access="ReadOnly" description="USART Receive Error Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="USART Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="2" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="USART Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="USART Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM1 (I2CM)" start="0x40003400" description="Serial Communication Interface 1">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CM Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="22" size="1" name="MEXTTOEN" description="Master SCL Low Extend Timeout" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="28" size="2" name="INACTOUT" description="Inactive Time-Out" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CM Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="QCEN" description="Quick Command Enable" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="I2CM Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="4" name="SERCOM_BAUD" access="Read/Write" description="I2CM Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+      <BitField start="8" size="8" name="BAUDLOW" description="Baud Rate Value Low" />
+      <BitField start="16" size="8" name="HSBAUD" description="High Speed Baud Rate Value" />
+      <BitField start="24" size="8" name="HSBAUDLOW" description="High Speed Baud Rate Value Low" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CM Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Disable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CM Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Enable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CM Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CM Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="ARBLOST" description="Arbitration Lost" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="4" size="2" name="BUSSTATE" description="Bus State" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="8" size="1" name="MEXTTOUT" description="Master SCL Low Extend Timeout" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="LENERR" description="Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CM Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="SYSOP" description="System Operation Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="Length Synchronization Busy" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CM Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="11" name="ADDR" description="Address Value" />
+      <BitField start="13" size="1" name="LENEN" description="Length Enable" />
+      <BitField start="14" size="1" name="HS" description="High Speed Mode" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="16" size="8" name="LEN" description="Length" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="I2CM Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="I2CM Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM1 (I2CS)" start="0x40003400" description="Serial Communication Interface 1">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CS Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CS Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="GCMD" description="PMBus Group Command" />
+      <BitField start="10" size="1" name="AACKEN" description="Automatic Address Acknowledge" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="I2CS Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SDASETUP" description="SDA Setup Time" />
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CS Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Disable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Disable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CS Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Enable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Enable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CS Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CS Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="COLL" description="Transmit Collision" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="3" size="1" name="DIR" description="Read/Write Direction" />
+      <BitField start="4" size="1" name="SR" description="Repeated Start" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="HS" description="High Speed" />
+      <BitField start="11" size="1" name="LENERR" description="Transaction Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CS Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="Length Synchronization Busy" />
+    </Register>
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="I2CS Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="1" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CS Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="GENCEN" description="General Call Address Enable" />
+      <BitField start="1" size="10" name="ADDR" description="Address Value" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="17" size="10" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="I2CS Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM1 (SPI)" start="0x40003400" description="Serial Communication Interface 1">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="SPI Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="16" size="2" name="DOPO" description="Data Out Pinout" />
+      <BitField start="20" size="2" name="DIPO" description="Data In Pinout" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CPHA" description="Clock Phase" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="SPI Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="PLOADEN" description="Data Preload Enable" />
+      <BitField start="9" size="1" name="SSDE" description="Slave Select Low Detect Enable" />
+      <BitField start="13" size="1" name="MSSEN" description="Master Slave Select Enable" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="SPI Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="ICSPACE" description="Inter-Character Spacing" />
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="1" name="SERCOM_BAUD" access="Read/Write" description="SPI Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="SPI Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="SPI Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="SPI Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Flag" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="SPI Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="11" size="1" name="LENERR" description="Transaction Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="SPI Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="LENGTH Synchronization Busy" />
+    </Register>
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="SPI Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="1" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="SPI Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="ADDR" description="Address Value" />
+      <BitField start="16" size="8" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="SPI Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="SPI Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM1 (USART)" start="0x40003400" description="Serial Communication Interface 1">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="USART Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="9" size="1" name="TXINV" description="Transmit Data Invert" />
+      <BitField start="10" size="1" name="RXINV" description="Receive Data Invert" />
+      <BitField start="13" size="3" name="SAMPR" description="Sample" />
+      <BitField start="16" size="2" name="TXPO" description="Transmit Data Pinout" />
+      <BitField start="20" size="2" name="RXPO" description="Receive Data Pinout" />
+      <BitField start="22" size="2" name="SAMPA" description="Sample Adjustment" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CMODE" description="Communication Mode" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="USART Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="SBMODE" description="Stop Bit Mode" />
+      <BitField start="8" size="1" name="COLDEN" description="Collision Detection Enable" />
+      <BitField start="9" size="1" name="SFDE" description="Start of Frame Detection Enable" />
+      <BitField start="10" size="1" name="ENC" description="Encoding Format" />
+      <BitField start="13" size="1" name="PMODE" description="Parity Mode" />
+      <BitField start="16" size="1" name="TXEN" description="Transmitter Enable" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+      <BitField start="24" size="2" name="LINCMD" description="LIN Command" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="USART Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="GTIME" description="Guard Time" />
+      <BitField start="8" size="2" name="BRKLEN" description="LIN Master Break Length" />
+      <BitField start="10" size="2" name="HDRDLY" description="LIN Master Header Delay" />
+      <BitField start="16" size="1" name="INACK" description="Inhibit Not Acknowledge" />
+      <BitField start="17" size="1" name="DSNACK" description="Disable Successive NACK" />
+      <BitField start="20" size="3" name="MAXITER" description="Maximum Iterations" />
+      <BitField start="24" size="2" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRAC_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRACFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_USARTFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0E" size="1" name="SERCOM_RXPL" access="Read/Write" description="USART Receive Pulse Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="RXPL" description="Receive Pulse Length" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="USART Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Disable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Disable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="USART Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Enable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Enable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="USART Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="USART Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PERR" description="Parity Error" />
+      <BitField start="1" size="1" name="FERR" description="Frame Error" />
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="3" size="1" name="CTS" description="Clear To Send" />
+      <BitField start="4" size="1" name="ISF" description="Inconsistent Sync Field" />
+      <BitField start="5" size="1" name="COLL" description="Collision Detected" />
+      <BitField start="6" size="1" name="TXE" description="Transmitter Empty" />
+      <BitField start="7" size="1" name="ITER" description="Maximum Number of Repetitions Reached" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="USART Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+      <BitField start="3" size="1" name="RXERRCNT" description="RXERRCNT Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="LENGTH Synchronization Busy" />
+    </Register>
+    <Register start="+0x20" size="1" name="SERCOM_RXERRCNT" access="ReadOnly" description="USART Receive Error Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="USART Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="2" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="USART Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="USART Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM2 (I2CM)" start="0x41012000" description="Serial Communication Interface 2">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CM Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="22" size="1" name="MEXTTOEN" description="Master SCL Low Extend Timeout" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="28" size="2" name="INACTOUT" description="Inactive Time-Out" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CM Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="QCEN" description="Quick Command Enable" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="I2CM Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="4" name="SERCOM_BAUD" access="Read/Write" description="I2CM Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+      <BitField start="8" size="8" name="BAUDLOW" description="Baud Rate Value Low" />
+      <BitField start="16" size="8" name="HSBAUD" description="High Speed Baud Rate Value" />
+      <BitField start="24" size="8" name="HSBAUDLOW" description="High Speed Baud Rate Value Low" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CM Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Disable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CM Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Enable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CM Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CM Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="ARBLOST" description="Arbitration Lost" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="4" size="2" name="BUSSTATE" description="Bus State" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="8" size="1" name="MEXTTOUT" description="Master SCL Low Extend Timeout" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="LENERR" description="Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CM Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="SYSOP" description="System Operation Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="Length Synchronization Busy" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CM Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="11" name="ADDR" description="Address Value" />
+      <BitField start="13" size="1" name="LENEN" description="Length Enable" />
+      <BitField start="14" size="1" name="HS" description="High Speed Mode" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="16" size="8" name="LEN" description="Length" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="I2CM Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="I2CM Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM2 (I2CS)" start="0x41012000" description="Serial Communication Interface 2">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CS Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CS Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="GCMD" description="PMBus Group Command" />
+      <BitField start="10" size="1" name="AACKEN" description="Automatic Address Acknowledge" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="I2CS Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SDASETUP" description="SDA Setup Time" />
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CS Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Disable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Disable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CS Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Enable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Enable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CS Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CS Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="COLL" description="Transmit Collision" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="3" size="1" name="DIR" description="Read/Write Direction" />
+      <BitField start="4" size="1" name="SR" description="Repeated Start" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="HS" description="High Speed" />
+      <BitField start="11" size="1" name="LENERR" description="Transaction Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CS Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="Length Synchronization Busy" />
+    </Register>
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="I2CS Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="1" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CS Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="GENCEN" description="General Call Address Enable" />
+      <BitField start="1" size="10" name="ADDR" description="Address Value" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="17" size="10" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="I2CS Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM2 (SPI)" start="0x41012000" description="Serial Communication Interface 2">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="SPI Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="16" size="2" name="DOPO" description="Data Out Pinout" />
+      <BitField start="20" size="2" name="DIPO" description="Data In Pinout" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CPHA" description="Clock Phase" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="SPI Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="PLOADEN" description="Data Preload Enable" />
+      <BitField start="9" size="1" name="SSDE" description="Slave Select Low Detect Enable" />
+      <BitField start="13" size="1" name="MSSEN" description="Master Slave Select Enable" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="SPI Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="ICSPACE" description="Inter-Character Spacing" />
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="1" name="SERCOM_BAUD" access="Read/Write" description="SPI Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="SPI Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="SPI Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="SPI Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Flag" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="SPI Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="11" size="1" name="LENERR" description="Transaction Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="SPI Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="LENGTH Synchronization Busy" />
+    </Register>
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="SPI Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="1" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="SPI Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="ADDR" description="Address Value" />
+      <BitField start="16" size="8" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="SPI Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="SPI Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM2 (USART)" start="0x41012000" description="Serial Communication Interface 2">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="USART Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="9" size="1" name="TXINV" description="Transmit Data Invert" />
+      <BitField start="10" size="1" name="RXINV" description="Receive Data Invert" />
+      <BitField start="13" size="3" name="SAMPR" description="Sample" />
+      <BitField start="16" size="2" name="TXPO" description="Transmit Data Pinout" />
+      <BitField start="20" size="2" name="RXPO" description="Receive Data Pinout" />
+      <BitField start="22" size="2" name="SAMPA" description="Sample Adjustment" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CMODE" description="Communication Mode" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="USART Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="SBMODE" description="Stop Bit Mode" />
+      <BitField start="8" size="1" name="COLDEN" description="Collision Detection Enable" />
+      <BitField start="9" size="1" name="SFDE" description="Start of Frame Detection Enable" />
+      <BitField start="10" size="1" name="ENC" description="Encoding Format" />
+      <BitField start="13" size="1" name="PMODE" description="Parity Mode" />
+      <BitField start="16" size="1" name="TXEN" description="Transmitter Enable" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+      <BitField start="24" size="2" name="LINCMD" description="LIN Command" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="USART Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="GTIME" description="Guard Time" />
+      <BitField start="8" size="2" name="BRKLEN" description="LIN Master Break Length" />
+      <BitField start="10" size="2" name="HDRDLY" description="LIN Master Header Delay" />
+      <BitField start="16" size="1" name="INACK" description="Inhibit Not Acknowledge" />
+      <BitField start="17" size="1" name="DSNACK" description="Disable Successive NACK" />
+      <BitField start="20" size="3" name="MAXITER" description="Maximum Iterations" />
+      <BitField start="24" size="2" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRAC_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRACFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_USARTFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0E" size="1" name="SERCOM_RXPL" access="Read/Write" description="USART Receive Pulse Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="RXPL" description="Receive Pulse Length" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="USART Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Disable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Disable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="USART Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Enable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Enable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="USART Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="USART Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PERR" description="Parity Error" />
+      <BitField start="1" size="1" name="FERR" description="Frame Error" />
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="3" size="1" name="CTS" description="Clear To Send" />
+      <BitField start="4" size="1" name="ISF" description="Inconsistent Sync Field" />
+      <BitField start="5" size="1" name="COLL" description="Collision Detected" />
+      <BitField start="6" size="1" name="TXE" description="Transmitter Empty" />
+      <BitField start="7" size="1" name="ITER" description="Maximum Number of Repetitions Reached" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="USART Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+      <BitField start="3" size="1" name="RXERRCNT" description="RXERRCNT Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="LENGTH Synchronization Busy" />
+    </Register>
+    <Register start="+0x20" size="1" name="SERCOM_RXERRCNT" access="ReadOnly" description="USART Receive Error Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="USART Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="2" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="USART Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="USART Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM3 (I2CM)" start="0x41014000" description="Serial Communication Interface 3">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CM Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="22" size="1" name="MEXTTOEN" description="Master SCL Low Extend Timeout" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="28" size="2" name="INACTOUT" description="Inactive Time-Out" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CM Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="QCEN" description="Quick Command Enable" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="I2CM Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="4" name="SERCOM_BAUD" access="Read/Write" description="I2CM Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+      <BitField start="8" size="8" name="BAUDLOW" description="Baud Rate Value Low" />
+      <BitField start="16" size="8" name="HSBAUD" description="High Speed Baud Rate Value" />
+      <BitField start="24" size="8" name="HSBAUDLOW" description="High Speed Baud Rate Value Low" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CM Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Disable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CM Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Enable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CM Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CM Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="ARBLOST" description="Arbitration Lost" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="4" size="2" name="BUSSTATE" description="Bus State" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="8" size="1" name="MEXTTOUT" description="Master SCL Low Extend Timeout" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="LENERR" description="Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CM Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="SYSOP" description="System Operation Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="Length Synchronization Busy" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CM Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="11" name="ADDR" description="Address Value" />
+      <BitField start="13" size="1" name="LENEN" description="Length Enable" />
+      <BitField start="14" size="1" name="HS" description="High Speed Mode" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="16" size="8" name="LEN" description="Length" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="I2CM Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="I2CM Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM3 (I2CS)" start="0x41014000" description="Serial Communication Interface 3">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CS Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CS Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="GCMD" description="PMBus Group Command" />
+      <BitField start="10" size="1" name="AACKEN" description="Automatic Address Acknowledge" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="I2CS Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SDASETUP" description="SDA Setup Time" />
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CS Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Disable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Disable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CS Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Enable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Enable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CS Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CS Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="COLL" description="Transmit Collision" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="3" size="1" name="DIR" description="Read/Write Direction" />
+      <BitField start="4" size="1" name="SR" description="Repeated Start" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="HS" description="High Speed" />
+      <BitField start="11" size="1" name="LENERR" description="Transaction Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CS Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="Length Synchronization Busy" />
+    </Register>
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="I2CS Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="1" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CS Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="GENCEN" description="General Call Address Enable" />
+      <BitField start="1" size="10" name="ADDR" description="Address Value" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="17" size="10" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="I2CS Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM3 (SPI)" start="0x41014000" description="Serial Communication Interface 3">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="SPI Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="16" size="2" name="DOPO" description="Data Out Pinout" />
+      <BitField start="20" size="2" name="DIPO" description="Data In Pinout" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CPHA" description="Clock Phase" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="SPI Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="PLOADEN" description="Data Preload Enable" />
+      <BitField start="9" size="1" name="SSDE" description="Slave Select Low Detect Enable" />
+      <BitField start="13" size="1" name="MSSEN" description="Master Slave Select Enable" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="SPI Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="ICSPACE" description="Inter-Character Spacing" />
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="1" name="SERCOM_BAUD" access="Read/Write" description="SPI Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="SPI Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="SPI Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="SPI Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Flag" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="SPI Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="11" size="1" name="LENERR" description="Transaction Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="SPI Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="LENGTH Synchronization Busy" />
+    </Register>
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="SPI Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="1" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="SPI Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="ADDR" description="Address Value" />
+      <BitField start="16" size="8" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="SPI Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="SPI Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM3 (USART)" start="0x41014000" description="Serial Communication Interface 3">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="USART Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="9" size="1" name="TXINV" description="Transmit Data Invert" />
+      <BitField start="10" size="1" name="RXINV" description="Receive Data Invert" />
+      <BitField start="13" size="3" name="SAMPR" description="Sample" />
+      <BitField start="16" size="2" name="TXPO" description="Transmit Data Pinout" />
+      <BitField start="20" size="2" name="RXPO" description="Receive Data Pinout" />
+      <BitField start="22" size="2" name="SAMPA" description="Sample Adjustment" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CMODE" description="Communication Mode" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="USART Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="SBMODE" description="Stop Bit Mode" />
+      <BitField start="8" size="1" name="COLDEN" description="Collision Detection Enable" />
+      <BitField start="9" size="1" name="SFDE" description="Start of Frame Detection Enable" />
+      <BitField start="10" size="1" name="ENC" description="Encoding Format" />
+      <BitField start="13" size="1" name="PMODE" description="Parity Mode" />
+      <BitField start="16" size="1" name="TXEN" description="Transmitter Enable" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+      <BitField start="24" size="2" name="LINCMD" description="LIN Command" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="USART Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="GTIME" description="Guard Time" />
+      <BitField start="8" size="2" name="BRKLEN" description="LIN Master Break Length" />
+      <BitField start="10" size="2" name="HDRDLY" description="LIN Master Header Delay" />
+      <BitField start="16" size="1" name="INACK" description="Inhibit Not Acknowledge" />
+      <BitField start="17" size="1" name="DSNACK" description="Disable Successive NACK" />
+      <BitField start="20" size="3" name="MAXITER" description="Maximum Iterations" />
+      <BitField start="24" size="2" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRAC_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRACFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_USARTFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0E" size="1" name="SERCOM_RXPL" access="Read/Write" description="USART Receive Pulse Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="RXPL" description="Receive Pulse Length" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="USART Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Disable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Disable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="USART Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Enable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Enable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="USART Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="USART Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PERR" description="Parity Error" />
+      <BitField start="1" size="1" name="FERR" description="Frame Error" />
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="3" size="1" name="CTS" description="Clear To Send" />
+      <BitField start="4" size="1" name="ISF" description="Inconsistent Sync Field" />
+      <BitField start="5" size="1" name="COLL" description="Collision Detected" />
+      <BitField start="6" size="1" name="TXE" description="Transmitter Empty" />
+      <BitField start="7" size="1" name="ITER" description="Maximum Number of Repetitions Reached" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="USART Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+      <BitField start="3" size="1" name="RXERRCNT" description="RXERRCNT Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="LENGTH Synchronization Busy" />
+    </Register>
+    <Register start="+0x20" size="1" name="SERCOM_RXERRCNT" access="ReadOnly" description="USART Receive Error Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="USART Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="2" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="USART Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="USART Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM4 (I2CM)" start="0x43000000" description="Serial Communication Interface 4">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CM Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="22" size="1" name="MEXTTOEN" description="Master SCL Low Extend Timeout" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="28" size="2" name="INACTOUT" description="Inactive Time-Out" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CM Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="QCEN" description="Quick Command Enable" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="I2CM Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="4" name="SERCOM_BAUD" access="Read/Write" description="I2CM Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+      <BitField start="8" size="8" name="BAUDLOW" description="Baud Rate Value Low" />
+      <BitField start="16" size="8" name="HSBAUD" description="High Speed Baud Rate Value" />
+      <BitField start="24" size="8" name="HSBAUDLOW" description="High Speed Baud Rate Value Low" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CM Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Disable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CM Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Enable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CM Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CM Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="ARBLOST" description="Arbitration Lost" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="4" size="2" name="BUSSTATE" description="Bus State" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="8" size="1" name="MEXTTOUT" description="Master SCL Low Extend Timeout" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="LENERR" description="Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CM Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="SYSOP" description="System Operation Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="Length Synchronization Busy" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CM Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="11" name="ADDR" description="Address Value" />
+      <BitField start="13" size="1" name="LENEN" description="Length Enable" />
+      <BitField start="14" size="1" name="HS" description="High Speed Mode" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="16" size="8" name="LEN" description="Length" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="I2CM Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="I2CM Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM4 (I2CS)" start="0x43000000" description="Serial Communication Interface 4">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CS Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CS Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="GCMD" description="PMBus Group Command" />
+      <BitField start="10" size="1" name="AACKEN" description="Automatic Address Acknowledge" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="I2CS Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SDASETUP" description="SDA Setup Time" />
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CS Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Disable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Disable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CS Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Enable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Enable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CS Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CS Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="COLL" description="Transmit Collision" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="3" size="1" name="DIR" description="Read/Write Direction" />
+      <BitField start="4" size="1" name="SR" description="Repeated Start" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="HS" description="High Speed" />
+      <BitField start="11" size="1" name="LENERR" description="Transaction Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CS Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="Length Synchronization Busy" />
+    </Register>
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="I2CS Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="1" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CS Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="GENCEN" description="General Call Address Enable" />
+      <BitField start="1" size="10" name="ADDR" description="Address Value" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="17" size="10" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="I2CS Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM4 (SPI)" start="0x43000000" description="Serial Communication Interface 4">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="SPI Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="16" size="2" name="DOPO" description="Data Out Pinout" />
+      <BitField start="20" size="2" name="DIPO" description="Data In Pinout" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CPHA" description="Clock Phase" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="SPI Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="PLOADEN" description="Data Preload Enable" />
+      <BitField start="9" size="1" name="SSDE" description="Slave Select Low Detect Enable" />
+      <BitField start="13" size="1" name="MSSEN" description="Master Slave Select Enable" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="SPI Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="ICSPACE" description="Inter-Character Spacing" />
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="1" name="SERCOM_BAUD" access="Read/Write" description="SPI Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="SPI Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="SPI Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="SPI Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Flag" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="SPI Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="11" size="1" name="LENERR" description="Transaction Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="SPI Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="LENGTH Synchronization Busy" />
+    </Register>
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="SPI Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="1" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="SPI Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="ADDR" description="Address Value" />
+      <BitField start="16" size="8" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="SPI Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="SPI Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM4 (USART)" start="0x43000000" description="Serial Communication Interface 4">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="USART Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="9" size="1" name="TXINV" description="Transmit Data Invert" />
+      <BitField start="10" size="1" name="RXINV" description="Receive Data Invert" />
+      <BitField start="13" size="3" name="SAMPR" description="Sample" />
+      <BitField start="16" size="2" name="TXPO" description="Transmit Data Pinout" />
+      <BitField start="20" size="2" name="RXPO" description="Receive Data Pinout" />
+      <BitField start="22" size="2" name="SAMPA" description="Sample Adjustment" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CMODE" description="Communication Mode" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="USART Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="SBMODE" description="Stop Bit Mode" />
+      <BitField start="8" size="1" name="COLDEN" description="Collision Detection Enable" />
+      <BitField start="9" size="1" name="SFDE" description="Start of Frame Detection Enable" />
+      <BitField start="10" size="1" name="ENC" description="Encoding Format" />
+      <BitField start="13" size="1" name="PMODE" description="Parity Mode" />
+      <BitField start="16" size="1" name="TXEN" description="Transmitter Enable" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+      <BitField start="24" size="2" name="LINCMD" description="LIN Command" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="USART Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="GTIME" description="Guard Time" />
+      <BitField start="8" size="2" name="BRKLEN" description="LIN Master Break Length" />
+      <BitField start="10" size="2" name="HDRDLY" description="LIN Master Header Delay" />
+      <BitField start="16" size="1" name="INACK" description="Inhibit Not Acknowledge" />
+      <BitField start="17" size="1" name="DSNACK" description="Disable Successive NACK" />
+      <BitField start="20" size="3" name="MAXITER" description="Maximum Iterations" />
+      <BitField start="24" size="2" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRAC_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRACFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_USARTFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0E" size="1" name="SERCOM_RXPL" access="Read/Write" description="USART Receive Pulse Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="RXPL" description="Receive Pulse Length" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="USART Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Disable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Disable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="USART Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Enable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Enable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="USART Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="USART Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PERR" description="Parity Error" />
+      <BitField start="1" size="1" name="FERR" description="Frame Error" />
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="3" size="1" name="CTS" description="Clear To Send" />
+      <BitField start="4" size="1" name="ISF" description="Inconsistent Sync Field" />
+      <BitField start="5" size="1" name="COLL" description="Collision Detected" />
+      <BitField start="6" size="1" name="TXE" description="Transmitter Empty" />
+      <BitField start="7" size="1" name="ITER" description="Maximum Number of Repetitions Reached" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="USART Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+      <BitField start="3" size="1" name="RXERRCNT" description="RXERRCNT Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="LENGTH Synchronization Busy" />
+    </Register>
+    <Register start="+0x20" size="1" name="SERCOM_RXERRCNT" access="ReadOnly" description="USART Receive Error Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="USART Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="2" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="USART Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="USART Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM5 (I2CM)" start="0x43000400" description="Serial Communication Interface 5">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CM Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="22" size="1" name="MEXTTOEN" description="Master SCL Low Extend Timeout" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="28" size="2" name="INACTOUT" description="Inactive Time-Out" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CM Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="QCEN" description="Quick Command Enable" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="I2CM Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="4" name="SERCOM_BAUD" access="Read/Write" description="I2CM Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+      <BitField start="8" size="8" name="BAUDLOW" description="Baud Rate Value Low" />
+      <BitField start="16" size="8" name="HSBAUD" description="High Speed Baud Rate Value" />
+      <BitField start="24" size="8" name="HSBAUDLOW" description="High Speed Baud Rate Value Low" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CM Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Disable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CM Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt Enable" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CM Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="MB" description="Master On Bus Interrupt" />
+      <BitField start="1" size="1" name="SB" description="Slave On Bus Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CM Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="ARBLOST" description="Arbitration Lost" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="4" size="2" name="BUSSTATE" description="Bus State" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="8" size="1" name="MEXTTOUT" description="Master SCL Low Extend Timeout" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="LENERR" description="Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CM Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="SYSOP" description="System Operation Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="Length Synchronization Busy" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CM Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="11" name="ADDR" description="Address Value" />
+      <BitField start="13" size="1" name="LENEN" description="Length Enable" />
+      <BitField start="14" size="1" name="HS" description="High Speed Mode" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="16" size="8" name="LEN" description="Length" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="I2CM Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="I2CM Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM5 (I2CS)" start="0x43000400" description="Serial Communication Interface 5">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="I2CS Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="16" size="1" name="PINOUT" description="Pin Usage" />
+      <BitField start="20" size="2" name="SDAHOLD" description="SDA Hold Time" />
+      <BitField start="23" size="1" name="SEXTTOEN" description="Slave SCL Low Extend Timeout" />
+      <BitField start="24" size="2" name="SPEED" description="Transfer Speed" />
+      <BitField start="27" size="1" name="SCLSM" description="SCL Clock Stretch Mode" />
+      <BitField start="30" size="1" name="LOWTOUTEN" description="SCL Low Timeout Enable" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="I2CS Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="8" size="1" name="SMEN" description="Smart Mode Enable" />
+      <BitField start="9" size="1" name="GCMD" description="PMBus Group Command" />
+      <BitField start="10" size="1" name="AACKEN" description="Automatic Address Acknowledge" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="16" size="2" name="CMD" description="Command" />
+      <BitField start="18" size="1" name="ACKACT" description="Acknowledge Action" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="I2CS Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="SDASETUP" description="SDA Setup Time" />
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="I2CS Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Disable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Disable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="I2CS Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt Enable" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt Enable" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="I2CS Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PREC" description="Stop Received Interrupt" />
+      <BitField start="1" size="1" name="AMATCH" description="Address Match Interrupt" />
+      <BitField start="2" size="1" name="DRDY" description="Data Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="I2CS Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BUSERR" description="Bus Error" />
+      <BitField start="1" size="1" name="COLL" description="Transmit Collision" />
+      <BitField start="2" size="1" name="RXNACK" description="Received Not Acknowledge" />
+      <BitField start="3" size="1" name="DIR" description="Read/Write Direction" />
+      <BitField start="4" size="1" name="SR" description="Repeated Start" />
+      <BitField start="6" size="1" name="LOWTOUT" description="SCL Low Timeout" />
+      <BitField start="7" size="1" name="CLKHOLD" description="Clock Hold" />
+      <BitField start="9" size="1" name="SEXTTOUT" description="Slave SCL Low Extend Timeout" />
+      <BitField start="10" size="1" name="HS" description="High Speed" />
+      <BitField start="11" size="1" name="LENERR" description="Transaction Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="I2CS Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="Length Synchronization Busy" />
+    </Register>
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="I2CS Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="1" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="I2CS Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="GENCEN" description="General Call Address Enable" />
+      <BitField start="1" size="10" name="ADDR" description="Address Value" />
+      <BitField start="15" size="1" name="TENBITEN" description="Ten Bit Addressing Enable" />
+      <BitField start="17" size="10" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="I2CS Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM5 (SPI)" start="0x43000400" description="Serial Communication Interface 5">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="SPI Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="16" size="2" name="DOPO" description="Data Out Pinout" />
+      <BitField start="20" size="2" name="DIPO" description="Data In Pinout" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CPHA" description="Clock Phase" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="SPI Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="PLOADEN" description="Data Preload Enable" />
+      <BitField start="9" size="1" name="SSDE" description="Slave Select Low Detect Enable" />
+      <BitField start="13" size="1" name="MSSEN" description="Master Slave Select Enable" />
+      <BitField start="14" size="2" name="AMODE" description="Address Mode" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="SPI Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="ICSPACE" description="Inter-Character Spacing" />
+      <BitField start="24" size="1" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="1" name="SERCOM_BAUD" access="Read/Write" description="SPI Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="SPI Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="SPI Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="SPI Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="SSL" description="Slave Select Low Interrupt Flag" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="SPI Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="11" size="1" name="LENERR" description="Transaction Length Error" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="SPI Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="LENGTH Synchronization Busy" />
+    </Register>
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="SPI Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="1" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="SERCOM_ADDR" access="Read/Write" description="SPI Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="ADDR" description="Address Value" />
+      <BitField start="16" size="8" name="ADDRMASK" description="Address Mask" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="SPI Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="SPI Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SERCOM5 (USART)" start="0x43000400" description="Serial Communication Interface 5">
+    <Register start="+0x00" size="4" name="SERCOM_CTRLA" access="Read/Write" description="USART Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="3" name="MODE" description="Operating Mode" />
+      <BitField start="7" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="IBON" description="Immediate Buffer Overflow Notification" />
+      <BitField start="9" size="1" name="TXINV" description="Transmit Data Invert" />
+      <BitField start="10" size="1" name="RXINV" description="Receive Data Invert" />
+      <BitField start="13" size="3" name="SAMPR" description="Sample" />
+      <BitField start="16" size="2" name="TXPO" description="Transmit Data Pinout" />
+      <BitField start="20" size="2" name="RXPO" description="Receive Data Pinout" />
+      <BitField start="22" size="2" name="SAMPA" description="Sample Adjustment" />
+      <BitField start="24" size="4" name="FORM" description="Frame Format" />
+      <BitField start="28" size="1" name="CMODE" description="Communication Mode" />
+      <BitField start="29" size="1" name="CPOL" description="Clock Polarity" />
+      <BitField start="30" size="1" name="DORD" description="Data Order" />
+    </Register>
+    <Register start="+0x04" size="4" name="SERCOM_CTRLB" access="Read/Write" description="USART Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="CHSIZE" description="Character Size" />
+      <BitField start="6" size="1" name="SBMODE" description="Stop Bit Mode" />
+      <BitField start="8" size="1" name="COLDEN" description="Collision Detection Enable" />
+      <BitField start="9" size="1" name="SFDE" description="Start of Frame Detection Enable" />
+      <BitField start="10" size="1" name="ENC" description="Encoding Format" />
+      <BitField start="13" size="1" name="PMODE" description="Parity Mode" />
+      <BitField start="16" size="1" name="TXEN" description="Transmitter Enable" />
+      <BitField start="17" size="1" name="RXEN" description="Receiver Enable" />
+      <BitField start="24" size="2" name="LINCMD" description="LIN Command" />
+    </Register>
+    <Register start="+0x08" size="4" name="SERCOM_CTRLC" access="Read/Write" description="USART Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="GTIME" description="Guard Time" />
+      <BitField start="8" size="2" name="BRKLEN" description="LIN Master Break Length" />
+      <BitField start="10" size="2" name="HDRDLY" description="LIN Master Header Delay" />
+      <BitField start="16" size="1" name="INACK" description="Inhibit Not Acknowledge" />
+      <BitField start="17" size="1" name="DSNACK" description="Disable Successive NACK" />
+      <BitField start="20" size="3" name="MAXITER" description="Maximum Iterations" />
+      <BitField start="24" size="2" name="DATA32B" description="Data 32 Bit" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRAC_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_FRACFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="13" name="BAUD" description="Baud Rate Value" />
+      <BitField start="13" size="3" name="FP" description="Fractional Part" />
+    </Register>
+    <Register start="+0x0C" size="2" name="SERCOM_BAUD_USARTFP_MODE" access="Read/Write" description="USART Baud Rate" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="BAUD" description="Baud Rate Value" />
+    </Register>
+    <Register start="+0x0E" size="1" name="SERCOM_RXPL" access="Read/Write" description="USART Receive Pulse Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="RXPL" description="Receive Pulse Length" />
+    </Register>
+    <Register start="+0x14" size="1" name="SERCOM_INTENCLR" access="Read/Write" description="USART Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Disable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Disable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Disable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Disable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Disable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Disable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Disable" />
+    </Register>
+    <Register start="+0x16" size="1" name="SERCOM_INTENSET" access="Read/Write" description="USART Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt Enable" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt Enable" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt Enable" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt Enable" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt Enable" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt Enable" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt Enable" />
+    </Register>
+    <Register start="+0x18" size="1" name="SERCOM_INTFLAG" access="Read/Write" description="USART Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DRE" description="Data Register Empty Interrupt" />
+      <BitField start="1" size="1" name="TXC" description="Transmit Complete Interrupt" />
+      <BitField start="2" size="1" name="RXC" description="Receive Complete Interrupt" />
+      <BitField start="3" size="1" name="RXS" description="Receive Start Interrupt" />
+      <BitField start="4" size="1" name="CTSIC" description="Clear To Send Input Change Interrupt" />
+      <BitField start="5" size="1" name="RXBRK" description="Break Received Interrupt" />
+      <BitField start="7" size="1" name="ERROR" description="Combined Error Interrupt" />
+    </Register>
+    <Register start="+0x1A" size="2" name="SERCOM_STATUS" access="Read/Write" description="USART Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PERR" description="Parity Error" />
+      <BitField start="1" size="1" name="FERR" description="Frame Error" />
+      <BitField start="2" size="1" name="BUFOVF" description="Buffer Overflow" />
+      <BitField start="3" size="1" name="CTS" description="Clear To Send" />
+      <BitField start="4" size="1" name="ISF" description="Inconsistent Sync Field" />
+      <BitField start="5" size="1" name="COLL" description="Collision Detected" />
+      <BitField start="6" size="1" name="TXE" description="Transmitter Empty" />
+      <BitField start="7" size="1" name="ITER" description="Maximum Number of Repetitions Reached" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SERCOM_SYNCBUSY" access="ReadOnly" description="USART Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="SERCOM Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB Synchronization Busy" />
+      <BitField start="3" size="1" name="RXERRCNT" description="RXERRCNT Synchronization Busy" />
+      <BitField start="4" size="1" name="LENGTH" description="LENGTH Synchronization Busy" />
+    </Register>
+    <Register start="+0x20" size="1" name="SERCOM_RXERRCNT" access="ReadOnly" description="USART Receive Error Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x22" size="2" name="SERCOM_LENGTH" access="Read/Write" description="USART Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="LEN" description="Data Length" />
+      <BitField start="8" size="2" name="LENEN" description="Data Length Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="SERCOM_DATA" access="Read/Write" description="USART Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Data Value" />
+    </Register>
+    <Register start="+0x30" size="1" name="SERCOM_DBGCTRL" access="Read/Write" description="USART Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGSTOP" description="Debug Mode" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="SUPC" start="0x40001800" description="Supply Controller">
+    <Register start="+0x00" size="4" name="SUPC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BOD33RDY" description="BOD33 Ready" />
+      <BitField start="1" size="1" name="BOD33DET" description="BOD33 Detection" />
+      <BitField start="2" size="1" name="B33SRDY" description="BOD33 Synchronization Ready" />
+      <BitField start="3" size="1" name="BOD12RDY" description="BOD12 Ready" />
+      <BitField start="4" size="1" name="BOD12DET" description="BOD12 Detection" />
+      <BitField start="5" size="1" name="B12SRDY" description="BOD12 Synchronization Ready" />
+      <BitField start="8" size="1" name="VREGRDY" description="Voltage Regulator Ready" />
+      <BitField start="10" size="1" name="VCORERDY" description="VDDCORE Ready" />
+    </Register>
+    <Register start="+0x04" size="4" name="SUPC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BOD33RDY" description="BOD33 Ready" />
+      <BitField start="1" size="1" name="BOD33DET" description="BOD33 Detection" />
+      <BitField start="2" size="1" name="B33SRDY" description="BOD33 Synchronization Ready" />
+      <BitField start="3" size="1" name="BOD12RDY" description="BOD12 Ready" />
+      <BitField start="4" size="1" name="BOD12DET" description="BOD12 Detection" />
+      <BitField start="5" size="1" name="B12SRDY" description="BOD12 Synchronization Ready" />
+      <BitField start="8" size="1" name="VREGRDY" description="Voltage Regulator Ready" />
+      <BitField start="10" size="1" name="VCORERDY" description="VDDCORE Ready" />
+    </Register>
+    <Register start="+0x08" size="4" name="SUPC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BOD33RDY" description="BOD33 Ready" />
+      <BitField start="1" size="1" name="BOD33DET" description="BOD33 Detection" />
+      <BitField start="2" size="1" name="B33SRDY" description="BOD33 Synchronization Ready" />
+      <BitField start="3" size="1" name="BOD12RDY" description="BOD12 Ready" />
+      <BitField start="4" size="1" name="BOD12DET" description="BOD12 Detection" />
+      <BitField start="5" size="1" name="B12SRDY" description="BOD12 Synchronization Ready" />
+      <BitField start="8" size="1" name="VREGRDY" description="Voltage Regulator Ready" />
+      <BitField start="10" size="1" name="VCORERDY" description="VDDCORE Ready" />
+    </Register>
+    <Register start="+0x0C" size="4" name="SUPC_STATUS" access="ReadOnly" description="Power and Clocks Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BOD33RDY" description="BOD33 Ready" />
+      <BitField start="1" size="1" name="BOD33DET" description="BOD33 Detection" />
+      <BitField start="2" size="1" name="B33SRDY" description="BOD33 Synchronization Ready" />
+      <BitField start="3" size="1" name="BOD12RDY" description="BOD12 Ready" />
+      <BitField start="4" size="1" name="BOD12DET" description="BOD12 Detection" />
+      <BitField start="5" size="1" name="B12SRDY" description="BOD12 Synchronization Ready" />
+      <BitField start="8" size="1" name="VREGRDY" description="Voltage Regulator Ready" />
+      <BitField start="10" size="1" name="VCORERDY" description="VDDCORE Ready" />
+    </Register>
+    <Register start="+0x10" size="4" name="SUPC_BOD33" access="Read/Write" description="BOD33 Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="ACTION" description="Action when Threshold Crossed">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RESET" start="0x1" description="The BOD33 generates a reset" />
+        <Enum name="INT" start="0x2" description="The BOD33 generates an interrupt" />
+        <Enum name="BKUP" start="0x3" description="The BOD33 puts the device in backup sleep mode" />
+      </BitField>
+      <BitField start="4" size="1" name="STDBYCFG" description="Configuration in Standby mode" />
+      <BitField start="5" size="1" name="RUNSTDBY" description="Run in Standby mode" />
+      <BitField start="6" size="1" name="RUNHIB" description="Run in Hibernate mode" />
+      <BitField start="7" size="1" name="RUNBKUP" description="Run in Backup mode" />
+      <BitField start="8" size="4" name="HYST" description="Hysteresis value" />
+      <BitField start="12" size="3" name="PSEL" description="Prescaler Select">
+        <Enum name="NODIV" start="0x0" description="Not divided" />
+        <Enum name="DIV4" start="0x1" description="Divide clock by 4" />
+        <Enum name="DIV8" start="0x2" description="Divide clock by 8" />
+        <Enum name="DIV16" start="0x3" description="Divide clock by 16" />
+        <Enum name="DIV32" start="0x4" description="Divide clock by 32" />
+        <Enum name="DIV64" start="0x5" description="Divide clock by 64" />
+        <Enum name="DIV128" start="0x6" description="Divide clock by 128" />
+        <Enum name="DIV256" start="0x7" description="Divide clock by 256" />
+      </BitField>
+      <BitField start="16" size="8" name="LEVEL" description="Threshold Level for VDD" />
+      <BitField start="24" size="8" name="VBATLEVEL" description="Threshold Level in battery backup sleep mode for VBAT" />
+    </Register>
+    <Register start="+0x14" size="4" name="SUPC_BOD12" access="Read/Write" description="BOD12 Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="1" name="HYST" description="Hysteresis Enable" />
+      <BitField start="3" size="2" name="ACTION" description="Action when Threshold Crossed">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RESET" start="0x1" description="The BOD12 generates a reset" />
+        <Enum name="INT" start="0x2" description="The BOD12 generates an interrupt" />
+      </BitField>
+      <BitField start="5" size="1" name="STDBYCFG" description="Configuration in Standby mode" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="8" size="1" name="ACTCFG" description="Configuration in Active mode" />
+      <BitField start="12" size="4" name="PSEL" description="Prescaler Select">
+        <Enum name="DIV2" start="0x0" description="Divide clock by 2" />
+        <Enum name="DIV4" start="0x1" description="Divide clock by 4" />
+        <Enum name="DIV8" start="0x2" description="Divide clock by 8" />
+        <Enum name="DIV16" start="0x3" description="Divide clock by 16" />
+        <Enum name="DIV32" start="0x4" description="Divide clock by 32" />
+        <Enum name="DIV64" start="0x5" description="Divide clock by 64" />
+        <Enum name="DIV128" start="0x6" description="Divide clock by 128" />
+        <Enum name="DIV256" start="0x7" description="Divide clock by 256" />
+        <Enum name="DIV512" start="0x8" description="Divide clock by 512" />
+        <Enum name="DIV1024" start="0x9" description="Divide clock by 1024" />
+        <Enum name="DIV2048" start="0xa" description="Divide clock by 2048" />
+        <Enum name="DIV4096" start="0xb" description="Divide clock by 4096" />
+        <Enum name="DIV8192" start="0xc" description="Divide clock by 8192" />
+        <Enum name="DIV16384" start="0xd" description="Divide clock by 16384" />
+        <Enum name="DIV32768" start="0xe" description="Divide clock by 32768" />
+        <Enum name="DIV65536" start="0xf" description="Divide clock by 65536" />
+      </BitField>
+      <BitField start="16" size="6" name="LEVEL" description="Threshold Level" />
+    </Register>
+    <Register start="+0x18" size="4" name="SUPC_VREG" access="Read/Write" description="VREG Control" reset_value="0x00000002" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="1" name="SEL" description="Voltage Regulator Selection">
+        <Enum name="LDO" start="0x0" description="LDO selection" />
+        <Enum name="BUCK" start="0x1" description="Buck selection" />
+      </BitField>
+      <BitField start="7" size="1" name="RUNBKUP" description="Run in Backup mode" />
+      <BitField start="16" size="1" name="VSEN" description="Voltage Scaling Enable" />
+      <BitField start="24" size="3" name="VSPER" description="Voltage Scaling Period" />
+    </Register>
+    <Register start="+0x1C" size="4" name="SUPC_VREF" access="Read/Write" description="VREF Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="TSEN" description="Temperature Sensor Output Enable" />
+      <BitField start="2" size="1" name="VREFOE" description="Voltage Reference Output Enable" />
+      <BitField start="3" size="1" name="TSSEL" description="Temperature Sensor Selection" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="On Demand Contrl" />
+      <BitField start="16" size="4" name="SEL" description="Voltage Reference Selection">
+        <Enum name="1V0" start="0x0" description="1.0V voltage reference typical value" />
+        <Enum name="1V1" start="0x1" description="1.1V voltage reference typical value" />
+        <Enum name="1V2" start="0x2" description="1.2V voltage reference typical value" />
+        <Enum name="1V25" start="0x3" description="1.25V voltage reference typical value" />
+        <Enum name="2V0" start="0x4" description="2.0V voltage reference typical value" />
+        <Enum name="2V2" start="0x5" description="2.2V voltage reference typical value" />
+        <Enum name="2V4" start="0x6" description="2.4V voltage reference typical value" />
+        <Enum name="2V5" start="0x7" description="2.5V voltage reference typical value" />
+      </BitField>
+    </Register>
+    <Register start="+0x20" size="4" name="SUPC_BBPS" access="Read/Write" description="Battery Backup Power Switch" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CONF" description="Battery Backup Configuration">
+        <Enum name="BOD33" start="0x0" description="The power switch is handled by the BOD33" />
+        <Enum name="FORCED" start="0x1" description="In Backup Domain, the backup domain is always supplied by battery backup power" />
+      </BitField>
+      <BitField start="2" size="1" name="WAKEEN" description="Wake Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="SUPC_BKOUT" access="Read/Write" description="Backup Output Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="EN" description="Enable Output" />
+      <BitField start="8" size="2" name="CLR" description="Clear Output" />
+      <BitField start="16" size="2" name="SET" description="Set Output" />
+      <BitField start="24" size="2" name="RTCTGL" description="RTC Toggle Output" />
+    </Register>
+    <Register start="+0x28" size="4" name="SUPC_BKIN" access="ReadOnly" description="Backup Input Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BKIN" description="Backup Input Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TAL" start="0x4101E000" description="Trigger Allocator">
+    <Register start="+0x000" size="1" name="TAL_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+    </Register>
+    <Register start="+0x001" size="1" name="TAL_EXTCTRL" access="Read/Write" description="External Break Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ENABLE" description="Enable BRK Pin" />
+      <BitField start="1" size="1" name="INV" description="Invert BRK Pin" />
+    </Register>
+    <Register start="+0x004" size="2" name="TAL_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BRKEI" description="Break Input Event Enable" />
+      <BitField start="1" size="1" name="BRKEO" description="Break Output Event Enable" />
+      <BitField start="2" size="1" name="IRQMONEO0" description="Interrupt Request Monitor 0 Output Event Enable" />
+    </Register>
+    <Register start="+0x008" size="1" name="TAL_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BRK" description="Break Interrupt Enable" />
+      <BitField start="1" size="1" name="IPS0" description="Inter-Processor Signal Interrupt Enable for CPU 0" />
+      <BitField start="2" size="1" name="IPS1" description="Inter-Processor Signal Interrupt Enable for CPU 1" />
+    </Register>
+    <Register start="+0x009" size="1" name="TAL_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BRK" description="Break Interrupt Enable" />
+      <BitField start="1" size="1" name="IPS0" description="Inter-Processor Signal Interrupt Enable for CPU 0" />
+      <BitField start="2" size="1" name="IPS1" description="Inter-Processor Signal Interrupt Enable for CPU 1" />
+    </Register>
+    <Register start="+0x00A" size="1" name="TAL_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="BRK" description="Break" />
+      <BitField start="1" size="1" name="IPS0" description="Inter-Processor Signal for CPU 0" />
+      <BitField start="2" size="1" name="IPS1" description="Inter-Processor Signal for CPU 1" />
+    </Register>
+    <Register start="+0x00B" size="1" name="TAL_GLOBMASK" access="Read/Write" description="Global Break Requests Mask" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CPU0" description="CPU 0 Break Master" />
+      <BitField start="1" size="1" name="CPU1" description="CPU 1 Break Master" />
+      <BitField start="6" size="1" name="EVBRK" description="Event Break Master" />
+      <BitField start="7" size="1" name="EXTBRK" description="External Break Master" />
+    </Register>
+    <Register start="+0x00C" size="1" name="TAL_HALT" access="WriteOnly" description="Debug Halt Request" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CPU0" description="CPU 0 Break Master" />
+      <BitField start="1" size="1" name="CPU1" description="CPU 1 Break Master" />
+      <BitField start="6" size="1" name="EVBRK" description="Event Break Master" />
+      <BitField start="7" size="1" name="EXTBRK" description="External Break Master" />
+    </Register>
+    <Register start="+0x00D" size="1" name="TAL_RESTART" access="WriteOnly" description="Debug Restart Request" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CPU0" description="CPU 0 Break Master" />
+      <BitField start="1" size="1" name="CPU1" description="CPU 1 Break Master" />
+      <BitField start="7" size="1" name="EXTBRK" description="External Break Master" />
+    </Register>
+    <Register start="+0x00E" size="2" name="TAL_BRKSTATUS" access="ReadOnly" description="Break Request Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CPU0" description="CPU 0 Break Request" />
+      <BitField start="2" size="2" name="CPU1" description="CPU 1 Break Request" />
+      <BitField start="12" size="2" name="EVBRK" description="Event Break Request" />
+      <BitField start="14" size="2" name="EXTBRK" description="External Break Request" />
+    </Register>
+    <Register start="+0x010+0" size="1" name="TAL_CTICTRLA0" access="Read/Write" description="Cross-Trigger Interface n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="BRK" description="Action when global break issued">
+        <Enum name="BREAK" start="0x0" description="Break when requested" />
+        <Enum name="INTERRUPT" start="0x1" description="Trigger DBG interrupt instead of break" />
+        <Enum name="IGNORE" start="0x2" description="Ignore break request" />
+      </BitField>
+      <BitField start="2" size="1" name="RESTART" description="Action when global restart issued">
+        <Enum name="RESTART" start="0x0" description="Restart when requested" />
+        <Enum name="IGNORE" start="0x1" description="Ignore restart request" />
+      </BitField>
+      <BitField start="3" size="1" name="IPS" description="Action when inter-process resource freed">
+        <Enum name="EVENT" start="0x0" description="Generate CPU Event when awaited resource is freed." />
+        <Enum name="INTERRUPT" start="0x1" description="Generate Interrupt when awaited resource is freed." />
+      </BitField>
+    </Register>
+    <Register start="+0x010+2" size="1" name="TAL_CTICTRLA1" access="Read/Write" description="Cross-Trigger Interface n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="BRK" description="Action when global break issued">
+        <Enum name="BREAK" start="0x0" description="Break when requested" />
+        <Enum name="INTERRUPT" start="0x1" description="Trigger DBG interrupt instead of break" />
+        <Enum name="IGNORE" start="0x2" description="Ignore break request" />
+      </BitField>
+      <BitField start="2" size="1" name="RESTART" description="Action when global restart issued">
+        <Enum name="RESTART" start="0x0" description="Restart when requested" />
+        <Enum name="IGNORE" start="0x1" description="Ignore restart request" />
+      </BitField>
+      <BitField start="3" size="1" name="IPS" description="Action when inter-process resource freed">
+        <Enum name="EVENT" start="0x0" description="Generate CPU Event when awaited resource is freed." />
+        <Enum name="INTERRUPT" start="0x1" description="Generate Interrupt when awaited resource is freed." />
+      </BitField>
+    </Register>
+    <Register start="+0x010+4" size="1" name="TAL_CTICTRLA2" access="Read/Write" description="Cross-Trigger Interface n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="BRK" description="Action when global break issued">
+        <Enum name="BREAK" start="0x0" description="Break when requested" />
+        <Enum name="INTERRUPT" start="0x1" description="Trigger DBG interrupt instead of break" />
+        <Enum name="IGNORE" start="0x2" description="Ignore break request" />
+      </BitField>
+      <BitField start="2" size="1" name="RESTART" description="Action when global restart issued">
+        <Enum name="RESTART" start="0x0" description="Restart when requested" />
+        <Enum name="IGNORE" start="0x1" description="Ignore restart request" />
+      </BitField>
+      <BitField start="3" size="1" name="IPS" description="Action when inter-process resource freed">
+        <Enum name="EVENT" start="0x0" description="Generate CPU Event when awaited resource is freed." />
+        <Enum name="INTERRUPT" start="0x1" description="Generate Interrupt when awaited resource is freed." />
+      </BitField>
+    </Register>
+    <Register start="+0x010+6" size="1" name="TAL_CTICTRLA3" access="Read/Write" description="Cross-Trigger Interface n Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="BRK" description="Action when global break issued">
+        <Enum name="BREAK" start="0x0" description="Break when requested" />
+        <Enum name="INTERRUPT" start="0x1" description="Trigger DBG interrupt instead of break" />
+        <Enum name="IGNORE" start="0x2" description="Ignore break request" />
+      </BitField>
+      <BitField start="2" size="1" name="RESTART" description="Action when global restart issued">
+        <Enum name="RESTART" start="0x0" description="Restart when requested" />
+        <Enum name="IGNORE" start="0x1" description="Ignore restart request" />
+      </BitField>
+      <BitField start="3" size="1" name="IPS" description="Action when inter-process resource freed">
+        <Enum name="EVENT" start="0x0" description="Generate CPU Event when awaited resource is freed." />
+        <Enum name="INTERRUPT" start="0x1" description="Generate Interrupt when awaited resource is freed." />
+      </BitField>
+    </Register>
+    <Register start="+0x011+0" size="1" name="TAL_CTIMASK0" access="Read/Write" description="Cross-Trigger Interface n Mask" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CPU0" description="CPU 0 Break Master" />
+      <BitField start="1" size="1" name="CPU1" description="CPU 1 Break Master" />
+      <BitField start="6" size="1" name="EVBRK" description="Event Break Master" />
+      <BitField start="7" size="1" name="EXTBRK" description="External Break Master" />
+    </Register>
+    <Register start="+0x011+2" size="1" name="TAL_CTIMASK1" access="Read/Write" description="Cross-Trigger Interface n Mask" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CPU0" description="CPU 0 Break Master" />
+      <BitField start="1" size="1" name="CPU1" description="CPU 1 Break Master" />
+      <BitField start="6" size="1" name="EVBRK" description="Event Break Master" />
+      <BitField start="7" size="1" name="EXTBRK" description="External Break Master" />
+    </Register>
+    <Register start="+0x011+4" size="1" name="TAL_CTIMASK2" access="Read/Write" description="Cross-Trigger Interface n Mask" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CPU0" description="CPU 0 Break Master" />
+      <BitField start="1" size="1" name="CPU1" description="CPU 1 Break Master" />
+      <BitField start="6" size="1" name="EVBRK" description="Event Break Master" />
+      <BitField start="7" size="1" name="EXTBRK" description="External Break Master" />
+    </Register>
+    <Register start="+0x011+6" size="1" name="TAL_CTIMASK3" access="Read/Write" description="Cross-Trigger Interface n Mask" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CPU0" description="CPU 0 Break Master" />
+      <BitField start="1" size="1" name="CPU1" description="CPU 1 Break Master" />
+      <BitField start="6" size="1" name="EVBRK" description="Event Break Master" />
+      <BitField start="7" size="1" name="EXTBRK" description="External Break Master" />
+    </Register>
+    <Register start="+0x020+0" size="1" name="TAL_INTSTATUS0" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+1" size="1" name="TAL_INTSTATUS1" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+2" size="1" name="TAL_INTSTATUS2" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+3" size="1" name="TAL_INTSTATUS3" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+4" size="1" name="TAL_INTSTATUS4" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+5" size="1" name="TAL_INTSTATUS5" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+6" size="1" name="TAL_INTSTATUS6" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+7" size="1" name="TAL_INTSTATUS7" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+8" size="1" name="TAL_INTSTATUS8" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+9" size="1" name="TAL_INTSTATUS9" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+10" size="1" name="TAL_INTSTATUS10" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+11" size="1" name="TAL_INTSTATUS11" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+12" size="1" name="TAL_INTSTATUS12" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+13" size="1" name="TAL_INTSTATUS13" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+14" size="1" name="TAL_INTSTATUS14" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+15" size="1" name="TAL_INTSTATUS15" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+16" size="1" name="TAL_INTSTATUS16" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+17" size="1" name="TAL_INTSTATUS17" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+18" size="1" name="TAL_INTSTATUS18" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+19" size="1" name="TAL_INTSTATUS19" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+20" size="1" name="TAL_INTSTATUS20" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+21" size="1" name="TAL_INTSTATUS21" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+22" size="1" name="TAL_INTSTATUS22" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+23" size="1" name="TAL_INTSTATUS23" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+24" size="1" name="TAL_INTSTATUS24" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+25" size="1" name="TAL_INTSTATUS25" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+26" size="1" name="TAL_INTSTATUS26" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+27" size="1" name="TAL_INTSTATUS27" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+28" size="1" name="TAL_INTSTATUS28" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+29" size="1" name="TAL_INTSTATUS29" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+30" size="1" name="TAL_INTSTATUS30" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+31" size="1" name="TAL_INTSTATUS31" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+32" size="1" name="TAL_INTSTATUS32" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+33" size="1" name="TAL_INTSTATUS33" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+34" size="1" name="TAL_INTSTATUS34" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+35" size="1" name="TAL_INTSTATUS35" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+36" size="1" name="TAL_INTSTATUS36" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+37" size="1" name="TAL_INTSTATUS37" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+38" size="1" name="TAL_INTSTATUS38" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+39" size="1" name="TAL_INTSTATUS39" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+40" size="1" name="TAL_INTSTATUS40" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+41" size="1" name="TAL_INTSTATUS41" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+42" size="1" name="TAL_INTSTATUS42" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+43" size="1" name="TAL_INTSTATUS43" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+44" size="1" name="TAL_INTSTATUS44" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+45" size="1" name="TAL_INTSTATUS45" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+46" size="1" name="TAL_INTSTATUS46" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+47" size="1" name="TAL_INTSTATUS47" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+48" size="1" name="TAL_INTSTATUS48" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+49" size="1" name="TAL_INTSTATUS49" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+50" size="1" name="TAL_INTSTATUS50" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+51" size="1" name="TAL_INTSTATUS51" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+52" size="1" name="TAL_INTSTATUS52" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+53" size="1" name="TAL_INTSTATUS53" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+54" size="1" name="TAL_INTSTATUS54" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+55" size="1" name="TAL_INTSTATUS55" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+56" size="1" name="TAL_INTSTATUS56" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+57" size="1" name="TAL_INTSTATUS57" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+58" size="1" name="TAL_INTSTATUS58" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+59" size="1" name="TAL_INTSTATUS59" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+60" size="1" name="TAL_INTSTATUS60" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+61" size="1" name="TAL_INTSTATUS61" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+62" size="1" name="TAL_INTSTATUS62" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+63" size="1" name="TAL_INTSTATUS63" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+64" size="1" name="TAL_INTSTATUS64" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+65" size="1" name="TAL_INTSTATUS65" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+66" size="1" name="TAL_INTSTATUS66" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+67" size="1" name="TAL_INTSTATUS67" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+68" size="1" name="TAL_INTSTATUS68" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+69" size="1" name="TAL_INTSTATUS69" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+70" size="1" name="TAL_INTSTATUS70" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+71" size="1" name="TAL_INTSTATUS71" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+72" size="1" name="TAL_INTSTATUS72" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+73" size="1" name="TAL_INTSTATUS73" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+74" size="1" name="TAL_INTSTATUS74" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+75" size="1" name="TAL_INTSTATUS75" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+76" size="1" name="TAL_INTSTATUS76" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+77" size="1" name="TAL_INTSTATUS77" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+78" size="1" name="TAL_INTSTATUS78" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+79" size="1" name="TAL_INTSTATUS79" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+80" size="1" name="TAL_INTSTATUS80" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+81" size="1" name="TAL_INTSTATUS81" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+82" size="1" name="TAL_INTSTATUS82" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+83" size="1" name="TAL_INTSTATUS83" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+84" size="1" name="TAL_INTSTATUS84" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+85" size="1" name="TAL_INTSTATUS85" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+86" size="1" name="TAL_INTSTATUS86" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+87" size="1" name="TAL_INTSTATUS87" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+88" size="1" name="TAL_INTSTATUS88" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+89" size="1" name="TAL_INTSTATUS89" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+90" size="1" name="TAL_INTSTATUS90" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+91" size="1" name="TAL_INTSTATUS91" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+92" size="1" name="TAL_INTSTATUS92" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+93" size="1" name="TAL_INTSTATUS93" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+94" size="1" name="TAL_INTSTATUS94" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+95" size="1" name="TAL_INTSTATUS95" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+96" size="1" name="TAL_INTSTATUS96" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+97" size="1" name="TAL_INTSTATUS97" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+98" size="1" name="TAL_INTSTATUS98" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+99" size="1" name="TAL_INTSTATUS99" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+100" size="1" name="TAL_INTSTATUS100" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+101" size="1" name="TAL_INTSTATUS101" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+102" size="1" name="TAL_INTSTATUS102" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+103" size="1" name="TAL_INTSTATUS103" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+104" size="1" name="TAL_INTSTATUS104" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+105" size="1" name="TAL_INTSTATUS105" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+106" size="1" name="TAL_INTSTATUS106" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+107" size="1" name="TAL_INTSTATUS107" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+108" size="1" name="TAL_INTSTATUS108" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+109" size="1" name="TAL_INTSTATUS109" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+110" size="1" name="TAL_INTSTATUS110" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+111" size="1" name="TAL_INTSTATUS111" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+112" size="1" name="TAL_INTSTATUS112" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+113" size="1" name="TAL_INTSTATUS113" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+114" size="1" name="TAL_INTSTATUS114" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+115" size="1" name="TAL_INTSTATUS115" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+116" size="1" name="TAL_INTSTATUS116" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+117" size="1" name="TAL_INTSTATUS117" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+118" size="1" name="TAL_INTSTATUS118" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+119" size="1" name="TAL_INTSTATUS119" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+120" size="1" name="TAL_INTSTATUS120" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+121" size="1" name="TAL_INTSTATUS121" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+122" size="1" name="TAL_INTSTATUS122" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+123" size="1" name="TAL_INTSTATUS123" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+124" size="1" name="TAL_INTSTATUS124" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+125" size="1" name="TAL_INTSTATUS125" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+126" size="1" name="TAL_INTSTATUS126" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+127" size="1" name="TAL_INTSTATUS127" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+128" size="1" name="TAL_INTSTATUS128" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+129" size="1" name="TAL_INTSTATUS129" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+130" size="1" name="TAL_INTSTATUS130" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+131" size="1" name="TAL_INTSTATUS131" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+132" size="1" name="TAL_INTSTATUS132" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+133" size="1" name="TAL_INTSTATUS133" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+134" size="1" name="TAL_INTSTATUS134" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+135" size="1" name="TAL_INTSTATUS135" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x020+136" size="1" name="TAL_INTSTATUS136" access="ReadOnly" description="Interrupt n Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IRQ0" description="Interrupt Status for Interrupt Request 0 within Interrupt n" />
+      <BitField start="1" size="1" name="IRQ1" description="Interrupt Status for Interrupt Request 1 within Interrupt n" />
+      <BitField start="2" size="1" name="IRQ2" description="Interrupt Status for Interrupt Request 2 within Interrupt n" />
+      <BitField start="3" size="1" name="IRQ3" description="Interrupt Status for Interrupt Request 3 within Interrupt n" />
+      <BitField start="4" size="1" name="IRQ4" description="Interrupt Status for Interrupt Request 4 within Interrupt n" />
+      <BitField start="5" size="1" name="IRQ5" description="Interrupt Status for Interrupt Request 5 within Interrupt n" />
+      <BitField start="6" size="1" name="IRQ6" description="Interrupt Status for Interrupt Request 6 within Interrupt n" />
+      <BitField start="7" size="1" name="IRQ7" description="Interrupt Status for Interrupt Request 7 within Interrupt n" />
+    </Register>
+    <Register start="+0x110" size="4" name="TAL_DMACPUSEL0" access="Read/Write" description="DMA Channel Interrupts CPU Select 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CH0" description="DMA Channel 0 Interrupt CPU Select" />
+      <BitField start="2" size="1" name="CH1" description="DMA Channel 1 Interrupt CPU Select" />
+      <BitField start="4" size="1" name="CH2" description="DMA Channel 2 Interrupt CPU Select" />
+      <BitField start="6" size="1" name="CH3" description="DMA Channel 3 Interrupt CPU Select" />
+      <BitField start="8" size="1" name="CH4" description="DMA Channel 4 Interrupt CPU Select" />
+      <BitField start="10" size="1" name="CH5" description="DMA Channel 5 Interrupt CPU Select" />
+      <BitField start="12" size="1" name="CH6" description="DMA Channel 6 Interrupt CPU Select" />
+      <BitField start="14" size="1" name="CH7" description="DMA Channel 7 Interrupt CPU Select" />
+      <BitField start="16" size="1" name="CH8" description="DMA Channel 8 Interrupt CPU Select" />
+      <BitField start="18" size="1" name="CH9" description="DMA Channel 9 Interrupt CPU Select" />
+      <BitField start="20" size="1" name="CH10" description="DMA Channel 10 Interrupt CPU Select" />
+      <BitField start="22" size="1" name="CH11" description="DMA Channel 11 Interrupt CPU Select" />
+      <BitField start="24" size="1" name="CH12" description="DMA Channel 12 Interrupt CPU Select" />
+      <BitField start="26" size="1" name="CH13" description="DMA Channel 13 Interrupt CPU Select" />
+      <BitField start="28" size="1" name="CH14" description="DMA Channel 14 Interrupt CPU Select" />
+      <BitField start="30" size="1" name="CH15" description="DMA Channel 15 Interrupt CPU Select" />
+    </Register>
+    <Register start="+0x114" size="4" name="TAL_DMACPUSEL1" access="Read/Write" description="DMA Channel Interrupts CPU Select 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CH16" description="DMA Channel 16 Interrupt CPU Select" />
+      <BitField start="2" size="1" name="CH17" description="DMA Channel 17 Interrupt CPU Select" />
+      <BitField start="4" size="1" name="CH18" description="DMA Channel 18 Interrupt CPU Select" />
+      <BitField start="6" size="1" name="CH19" description="DMA Channel 19 Interrupt CPU Select" />
+      <BitField start="8" size="1" name="CH20" description="DMA Channel 20 Interrupt CPU Select" />
+      <BitField start="10" size="1" name="CH21" description="DMA Channel 21 Interrupt CPU Select" />
+      <BitField start="12" size="1" name="CH22" description="DMA Channel 22 Interrupt CPU Select" />
+      <BitField start="14" size="1" name="CH23" description="DMA Channel 23 Interrupt CPU Select" />
+      <BitField start="16" size="1" name="CH24" description="DMA Channel 24 Interrupt CPU Select" />
+      <BitField start="18" size="1" name="CH25" description="DMA Channel 25 Interrupt CPU Select" />
+      <BitField start="20" size="1" name="CH26" description="DMA Channel 26 Interrupt CPU Select" />
+      <BitField start="22" size="1" name="CH27" description="DMA Channel 27 Interrupt CPU Select" />
+      <BitField start="24" size="1" name="CH28" description="DMA Channel 28 Interrupt CPU Select" />
+      <BitField start="26" size="1" name="CH29" description="DMA Channel 29 Interrupt CPU Select" />
+      <BitField start="28" size="1" name="CH30" description="DMA Channel 30 Interrupt CPU Select" />
+      <BitField start="30" size="1" name="CH31" description="DMA Channel 31 Interrupt CPU Select" />
+    </Register>
+    <Register start="+0x118" size="4" name="TAL_EVCPUSEL0" access="Read/Write" description="EVSYS Channel Interrupts CPU Select 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CH0" description="Event Channel 0 Interrupt CPU Select" />
+      <BitField start="2" size="1" name="CH1" description="Event Channel 1 Interrupt CPU Select" />
+      <BitField start="4" size="1" name="CH2" description="Event Channel 2 Interrupt CPU Select" />
+      <BitField start="6" size="1" name="CH3" description="Event Channel 3 Interrupt CPU Select" />
+      <BitField start="8" size="1" name="CH4" description="Event Channel 4 Interrupt CPU Select" />
+      <BitField start="10" size="1" name="CH5" description="Event Channel 5 Interrupt CPU Select" />
+      <BitField start="12" size="1" name="CH6" description="Event Channel 6 Interrupt CPU Select" />
+      <BitField start="14" size="1" name="CH7" description="Event Channel 7 Interrupt CPU Select" />
+      <BitField start="16" size="1" name="CH8" description="Event Channel 8 Interrupt CPU Select" />
+      <BitField start="18" size="1" name="CH9" description="Event Channel 9 Interrupt CPU Select" />
+      <BitField start="20" size="1" name="CH10" description="Event Channel 10 Interrupt CPU Select" />
+      <BitField start="22" size="1" name="CH11" description="Event Channel 11 Interrupt CPU Select" />
+    </Register>
+    <Register start="+0x120" size="4" name="TAL_EICCPUSEL0" access="Read/Write" description="EIC External Interrupts CPU Select 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EXTINT0" description="External Interrupt 0 CPU Select" />
+      <BitField start="2" size="1" name="EXTINT1" description="External Interrupt 1 CPU Select" />
+      <BitField start="4" size="1" name="EXTINT2" description="External Interrupt 2 CPU Select" />
+      <BitField start="6" size="1" name="EXTINT3" description="External Interrupt 3 CPU Select" />
+      <BitField start="8" size="1" name="EXTINT4" description="External Interrupt 4 CPU Select" />
+      <BitField start="10" size="1" name="EXTINT5" description="External Interrupt 5 CPU Select" />
+      <BitField start="12" size="1" name="EXTINT6" description="External Interrupt 6 CPU Select" />
+      <BitField start="14" size="1" name="EXTINT7" description="External Interrupt 7 CPU Select" />
+      <BitField start="16" size="1" name="EXTINT8" description="External Interrupt 8 CPU Select" />
+      <BitField start="18" size="1" name="EXTINT9" description="External Interrupt 9 CPU Select" />
+      <BitField start="20" size="1" name="EXTINT10" description="External Interrupt 10 CPU Select" />
+      <BitField start="22" size="1" name="EXTINT11" description="External Interrupt 11 CPU Select" />
+      <BitField start="24" size="1" name="EXTINT12" description="External Interrupt 12 CPU Select" />
+      <BitField start="26" size="1" name="EXTINT13" description="External Interrupt 13 CPU Select" />
+      <BitField start="28" size="1" name="EXTINT14" description="External Interrupt 14 CPU Select" />
+      <BitField start="30" size="1" name="EXTINT15" description="External Interrupt 15 CPU Select" />
+    </Register>
+    <Register start="+0x128" size="4" name="TAL_INTCPUSEL0" access="Read/Write" description="Interrupts CPU Select 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PAC" description="PAC Interrupt CPU Select" />
+      <BitField start="2" size="1" name="PM" description="PM Interrupt CPU Select" />
+      <BitField start="4" size="1" name="MCLK" description="MCLK Interrupt CPU Select" />
+      <BitField start="8" size="1" name="OSCCTRL" description="OSCCTRL Interrupt CPU Select" />
+      <BitField start="10" size="1" name="OSC32KCTRL" description="OSC32KCTRL Interrupt CPU Select" />
+      <BitField start="12" size="1" name="SUPC" description="SUPC Interrupt CPU Select" />
+      <BitField start="16" size="1" name="WDT" description="WDT Interrupt CPU Select" />
+      <BitField start="18" size="1" name="RTC" description="RTC Interrupt CPU Select" />
+      <BitField start="20" size="1" name="EIC" description="EIC Interrupt CPU Select" />
+      <BitField start="22" size="1" name="FREQM" description="FREQM Interrupt CPU Select" />
+      <BitField start="24" size="1" name="SERCOM0" description="SERCOM0 Interrupt CPU Select" />
+      <BitField start="26" size="1" name="SERCOM1" description="SERCOM1 Interrupt CPU Select" />
+      <BitField start="28" size="1" name="TC0" description="TC0 Interrupt CPU Select" />
+      <BitField start="30" size="1" name="TC1" description="TC1 Interrupt CPU Select" />
+    </Register>
+    <Register start="+0x12C" size="4" name="TAL_INTCPUSEL1" access="Read/Write" description="Interrupts CPU Select 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x130" size="4" name="TAL_INTCPUSEL2" access="Read/Write" description="Interrupts CPU Select 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="USB" description="USB Interrupt CPU Select" />
+      <BitField start="4" size="1" name="NVMCTRL" description="NVMCTRL Interrupt CPU Select" />
+      <BitField start="10" size="1" name="DMAC" description="DMAC Interrupt CPU Select" />
+      <BitField start="14" size="1" name="EVSYS" description="EVSYS Interrupt CPU Select" />
+      <BitField start="16" size="1" name="PICOP" description="PICOP Interrupt CPU Select" />
+      <BitField start="18" size="1" name="SERCOM2" description="SERCOM2 Interrupt CPU Select" />
+      <BitField start="20" size="1" name="SERCOM3" description="SERCOM3 Interrupt CPU Select" />
+      <BitField start="22" size="1" name="TCC0" description="TCC0 Interrupt CPU Select" />
+      <BitField start="24" size="1" name="TCC1" description="TCC1 Interrupt CPU Select" />
+      <BitField start="26" size="1" name="TC2" description="TC2 Interrupt CPU Select" />
+      <BitField start="28" size="1" name="TC3" description="TC3 Interrupt CPU Select" />
+      <BitField start="30" size="1" name="TAL" description="TAL Interrupt CPU Select" />
+    </Register>
+    <Register start="+0x134" size="4" name="TAL_INTCPUSEL3" access="Read/Write" description="Interrupts CPU Select 3" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="RAMECC" description="RAMECC Interrupt CPU Select" />
+    </Register>
+    <Register start="+0x138" size="4" name="TAL_INTCPUSEL4" access="Read/Write" description="Interrupts CPU Select 4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="CAN0" description="CAN0 Interrupt CPU Select" />
+      <BitField start="2" size="1" name="CAN1" description="CAN1 Interrupt CPU Select" />
+      <BitField start="4" size="1" name="GMAC" description="GMAC Interrupt CPU Select" />
+      <BitField start="6" size="1" name="TCC2" description="TCC2 Interrupt CPU Select" />
+      <BitField start="8" size="1" name="TCC3" description="TCC3 Interrupt CPU Select" />
+      <BitField start="10" size="1" name="TC4" description="TC4 Interrupt CPU Select" />
+      <BitField start="12" size="1" name="TC5" description="TC5 Interrupt CPU Select" />
+      <BitField start="14" size="1" name="PDEC" description="PDEC Interrupt CPU Select" />
+      <BitField start="16" size="1" name="AC" description="AC Interrupt CPU Select" />
+      <BitField start="18" size="1" name="AES" description="AES Interrupt CPU Select" />
+      <BitField start="20" size="1" name="TRNG" description="TRNG Interrupt CPU Select" />
+      <BitField start="22" size="1" name="ICM" description="ICM Interrupt CPU Select" />
+      <BitField start="24" size="1" name="PUKCC" description="PUKCC Interrupt CPU Select" />
+      <BitField start="26" size="1" name="QSPI" description="QSPI Interrupt CPU Select" />
+    </Register>
+    <Register start="+0x13C" size="4" name="TAL_INTCPUSEL5" access="Read/Write" description="Interrupts CPU Select 5" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x140" size="4" name="TAL_INTCPUSEL6" access="Read/Write" description="Interrupts CPU Select 6" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SERCOM4" description="SERCOM4 Interrupt CPU Select" />
+      <BitField start="2" size="1" name="SERCOM5" description="SERCOM5 Interrupt CPU Select" />
+      <BitField start="4" size="1" name="SERCOM6" description="SERCOM6 Interrupt CPU Select" />
+      <BitField start="6" size="1" name="SERCOM7" description="SERCOM7 Interrupt CPU Select" />
+      <BitField start="8" size="1" name="TCC4" description="TCC4 Interrupt CPU Select" />
+      <BitField start="10" size="1" name="TC6" description="TC6 Interrupt CPU Select" />
+      <BitField start="12" size="1" name="TC7" description="TC7 Interrupt CPU Select" />
+      <BitField start="14" size="1" name="ADC0" description="ADC0 Interrupt CPU Select" />
+      <BitField start="16" size="1" name="ADC1" description="ADC1 Interrupt CPU Select" />
+      <BitField start="18" size="1" name="DAC" description="DAC Interrupt CPU Select" />
+      <BitField start="20" size="1" name="I2S" description="I2S Interrupt CPU Select" />
+      <BitField start="22" size="1" name="PCC" description="PCC Interrupt CPU Select" />
+    </Register>
+    <Register start="+0x144" size="4" name="TAL_INTCPUSEL7" access="Read/Write" description="Interrupts CPU Select 7" reset_value="0x00000000" reset_mask="0xFFFFFFFF" />
+    <Register start="+0x148" size="4" name="TAL_INTCPUSEL8" access="Read/Write" description="Interrupts CPU Select 8" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SDHC0" description="SDHC0 Interrupt CPU Select" />
+      <BitField start="2" size="1" name="SDHC1" description="SDHC1 Interrupt CPU Select" />
+    </Register>
+    <Register start="+0x164" size="4" name="TAL_IRQTRIG" access="Read/Write" description="Interrupt Trigger" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="ENABLE" description="Trigger Enable" />
+      <BitField start="8" size="8" name="IRQNUM" description="Interrupt Request Number" />
+      <BitField start="16" size="8" name="OVERRIDE" description="Interrupt Request Override Value" />
+    </Register>
+    <Register start="+0x168+0" size="2" name="TAL_IRQMON0" access="Read/Write" description="Interrupt Monitor Select" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EXTEND" description="Extended Interrupt Request">
+        <Enum name="NO" start="0x0" description="Event is Interrupt Request signal" />
+        <Enum name="YES" start="0x1" description="Event is Interrupt Request signal extended until end of Interrupt Handler" />
+      </BitField>
+      <BitField start="1" size="1" name="DROP" description="Drop Shortened Events" />
+      <BitField start="2" size="1" name="CPUID" description="ID of CPU currently servicing this IRQ" />
+      <BitField start="8" size="8" name="IRQNUM" description="Interrupt Request Number" />
+    </Register>
+    <Register start="+0x180+0" size="4" name="TAL_CPUIRQS0_0" access="ReadOnly" description="Interrupt Status m for CPU n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CPUIRQS" description="Interrupt Requests for CPU n" />
+    </Register>
+    <Register start="+0x180+4" size="4" name="TAL_CPUIRQS0_1" access="ReadOnly" description="Interrupt Status m for CPU n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CPUIRQS" description="Interrupt Requests for CPU n" />
+    </Register>
+    <Register start="+0x180+8" size="4" name="TAL_CPUIRQS0_2" access="ReadOnly" description="Interrupt Status m for CPU n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CPUIRQS" description="Interrupt Requests for CPU n" />
+    </Register>
+    <Register start="+0x180+12" size="4" name="TAL_CPUIRQS0_3" access="ReadOnly" description="Interrupt Status m for CPU n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CPUIRQS" description="Interrupt Requests for CPU n" />
+    </Register>
+    <Register start="+0x180+16" size="4" name="TAL_CPUIRQS0_4" access="ReadOnly" description="Interrupt Status m for CPU n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CPUIRQS" description="Interrupt Requests for CPU n" />
+    </Register>
+    <Register start="+0x1a0+0" size="4" name="TAL_CPUIRQS1_0" access="ReadOnly" description="Interrupt Status m for CPU n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CPUIRQS" description="Interrupt Requests for CPU n" />
+    </Register>
+    <Register start="+0x1a0+4" size="4" name="TAL_CPUIRQS1_1" access="ReadOnly" description="Interrupt Status m for CPU n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CPUIRQS" description="Interrupt Requests for CPU n" />
+    </Register>
+    <Register start="+0x1a0+8" size="4" name="TAL_CPUIRQS1_2" access="ReadOnly" description="Interrupt Status m for CPU n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CPUIRQS" description="Interrupt Requests for CPU n" />
+    </Register>
+    <Register start="+0x1a0+12" size="4" name="TAL_CPUIRQS1_3" access="ReadOnly" description="Interrupt Status m for CPU n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CPUIRQS" description="Interrupt Requests for CPU n" />
+    </Register>
+    <Register start="+0x1a0+16" size="4" name="TAL_CPUIRQS1_4" access="ReadOnly" description="Interrupt Status m for CPU n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CPUIRQS" description="Interrupt Requests for CPU n" />
+    </Register>
+    <Register start="+0x200+0" size="4" name="TAL_SMASK0_0" access="Read/Write" description="Inter-Process Signal Mask m for CPU n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS0" description="Inter-Process Signal 0" />
+      <BitField start="1" size="1" name="IPS1" description="Inter-Process Signal 1" />
+      <BitField start="2" size="1" name="IPS2" description="Inter-Process Signal 2" />
+      <BitField start="3" size="1" name="IPS3" description="Inter-Process Signal 3" />
+      <BitField start="4" size="1" name="IPS4" description="Inter-Process Signal 4" />
+      <BitField start="5" size="1" name="IPS5" description="Inter-Process Signal 5" />
+      <BitField start="6" size="1" name="IPS6" description="Inter-Process Signal 6" />
+      <BitField start="7" size="1" name="IPS7" description="Inter-Process Signal 7" />
+      <BitField start="8" size="1" name="IPS8" description="Inter-Process Signal 8" />
+      <BitField start="9" size="1" name="IPS9" description="Inter-Process Signal 9" />
+      <BitField start="10" size="1" name="IPS10" description="Inter-Process Signal 10" />
+      <BitField start="11" size="1" name="IPS11" description="Inter-Process Signal 11" />
+      <BitField start="12" size="1" name="IPS12" description="Inter-Process Signal 12" />
+      <BitField start="13" size="1" name="IPS13" description="Inter-Process Signal 13" />
+      <BitField start="14" size="1" name="IPS14" description="Inter-Process Signal 14" />
+      <BitField start="15" size="1" name="IPS15" description="Inter-Process Signal 15" />
+      <BitField start="16" size="1" name="IPS16" description="Inter-Process Signal 16" />
+      <BitField start="17" size="1" name="IPS17" description="Inter-Process Signal 17" />
+      <BitField start="18" size="1" name="IPS18" description="Inter-Process Signal 18" />
+      <BitField start="19" size="1" name="IPS19" description="Inter-Process Signal 19" />
+      <BitField start="20" size="1" name="IPS20" description="Inter-Process Signal 20" />
+      <BitField start="21" size="1" name="IPS21" description="Inter-Process Signal 21" />
+      <BitField start="22" size="1" name="IPS22" description="Inter-Process Signal 22" />
+      <BitField start="23" size="1" name="IPS23" description="Inter-Process Signal 23" />
+      <BitField start="24" size="1" name="IPS24" description="Inter-Process Signal 24" />
+      <BitField start="25" size="1" name="IPS25" description="Inter-Process Signal 25" />
+      <BitField start="26" size="1" name="IPS26" description="Inter-Process Signal 26" />
+      <BitField start="27" size="1" name="IPS27" description="Inter-Process Signal 27" />
+      <BitField start="28" size="1" name="IPS28" description="Inter-Process Signal 28" />
+      <BitField start="29" size="1" name="IPS29" description="Inter-Process Signal 29" />
+      <BitField start="30" size="1" name="IPS30" description="Inter-Process Signal 30" />
+      <BitField start="31" size="1" name="IPS31" description="Inter-Process Signal 31" />
+    </Register>
+    <Register start="+0x200+4" size="4" name="TAL_SMASK0_1" access="Read/Write" description="Inter-Process Signal Mask m for CPU n - Group 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS0" description="Inter-Process Signal 0" />
+      <BitField start="1" size="1" name="IPS1" description="Inter-Process Signal 1" />
+      <BitField start="2" size="1" name="IPS2" description="Inter-Process Signal 2" />
+      <BitField start="3" size="1" name="IPS3" description="Inter-Process Signal 3" />
+      <BitField start="4" size="1" name="IPS4" description="Inter-Process Signal 4" />
+      <BitField start="5" size="1" name="IPS5" description="Inter-Process Signal 5" />
+      <BitField start="6" size="1" name="IPS6" description="Inter-Process Signal 6" />
+      <BitField start="7" size="1" name="IPS7" description="Inter-Process Signal 7" />
+      <BitField start="8" size="1" name="IPS8" description="Inter-Process Signal 8" />
+      <BitField start="9" size="1" name="IPS9" description="Inter-Process Signal 9" />
+      <BitField start="10" size="1" name="IPS10" description="Inter-Process Signal 10" />
+      <BitField start="11" size="1" name="IPS11" description="Inter-Process Signal 11" />
+      <BitField start="12" size="1" name="IPS12" description="Inter-Process Signal 12" />
+      <BitField start="13" size="1" name="IPS13" description="Inter-Process Signal 13" />
+      <BitField start="14" size="1" name="IPS14" description="Inter-Process Signal 14" />
+      <BitField start="15" size="1" name="IPS15" description="Inter-Process Signal 15" />
+      <BitField start="16" size="1" name="IPS16" description="Inter-Process Signal 16" />
+      <BitField start="17" size="1" name="IPS17" description="Inter-Process Signal 17" />
+      <BitField start="18" size="1" name="IPS18" description="Inter-Process Signal 18" />
+      <BitField start="19" size="1" name="IPS19" description="Inter-Process Signal 19" />
+      <BitField start="20" size="1" name="IPS20" description="Inter-Process Signal 20" />
+      <BitField start="21" size="1" name="IPS21" description="Inter-Process Signal 21" />
+      <BitField start="22" size="1" name="IPS22" description="Inter-Process Signal 22" />
+      <BitField start="23" size="1" name="IPS23" description="Inter-Process Signal 23" />
+      <BitField start="24" size="1" name="IPS24" description="Inter-Process Signal 24" />
+      <BitField start="25" size="1" name="IPS25" description="Inter-Process Signal 25" />
+      <BitField start="26" size="1" name="IPS26" description="Inter-Process Signal 26" />
+      <BitField start="27" size="1" name="IPS27" description="Inter-Process Signal 27" />
+      <BitField start="28" size="1" name="IPS28" description="Inter-Process Signal 28" />
+      <BitField start="29" size="1" name="IPS29" description="Inter-Process Signal 29" />
+      <BitField start="30" size="1" name="IPS30" description="Inter-Process Signal 30" />
+      <BitField start="31" size="1" name="IPS31" description="Inter-Process Signal 31" />
+    </Register>
+    <Register start="+0x208+0" size="4" name="TAL_SMASK1_0" access="Read/Write" description="Inter-Process Signal Mask m for CPU n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS0" description="Inter-Process Signal 0" />
+      <BitField start="1" size="1" name="IPS1" description="Inter-Process Signal 1" />
+      <BitField start="2" size="1" name="IPS2" description="Inter-Process Signal 2" />
+      <BitField start="3" size="1" name="IPS3" description="Inter-Process Signal 3" />
+      <BitField start="4" size="1" name="IPS4" description="Inter-Process Signal 4" />
+      <BitField start="5" size="1" name="IPS5" description="Inter-Process Signal 5" />
+      <BitField start="6" size="1" name="IPS6" description="Inter-Process Signal 6" />
+      <BitField start="7" size="1" name="IPS7" description="Inter-Process Signal 7" />
+      <BitField start="8" size="1" name="IPS8" description="Inter-Process Signal 8" />
+      <BitField start="9" size="1" name="IPS9" description="Inter-Process Signal 9" />
+      <BitField start="10" size="1" name="IPS10" description="Inter-Process Signal 10" />
+      <BitField start="11" size="1" name="IPS11" description="Inter-Process Signal 11" />
+      <BitField start="12" size="1" name="IPS12" description="Inter-Process Signal 12" />
+      <BitField start="13" size="1" name="IPS13" description="Inter-Process Signal 13" />
+      <BitField start="14" size="1" name="IPS14" description="Inter-Process Signal 14" />
+      <BitField start="15" size="1" name="IPS15" description="Inter-Process Signal 15" />
+      <BitField start="16" size="1" name="IPS16" description="Inter-Process Signal 16" />
+      <BitField start="17" size="1" name="IPS17" description="Inter-Process Signal 17" />
+      <BitField start="18" size="1" name="IPS18" description="Inter-Process Signal 18" />
+      <BitField start="19" size="1" name="IPS19" description="Inter-Process Signal 19" />
+      <BitField start="20" size="1" name="IPS20" description="Inter-Process Signal 20" />
+      <BitField start="21" size="1" name="IPS21" description="Inter-Process Signal 21" />
+      <BitField start="22" size="1" name="IPS22" description="Inter-Process Signal 22" />
+      <BitField start="23" size="1" name="IPS23" description="Inter-Process Signal 23" />
+      <BitField start="24" size="1" name="IPS24" description="Inter-Process Signal 24" />
+      <BitField start="25" size="1" name="IPS25" description="Inter-Process Signal 25" />
+      <BitField start="26" size="1" name="IPS26" description="Inter-Process Signal 26" />
+      <BitField start="27" size="1" name="IPS27" description="Inter-Process Signal 27" />
+      <BitField start="28" size="1" name="IPS28" description="Inter-Process Signal 28" />
+      <BitField start="29" size="1" name="IPS29" description="Inter-Process Signal 29" />
+      <BitField start="30" size="1" name="IPS30" description="Inter-Process Signal 30" />
+      <BitField start="31" size="1" name="IPS31" description="Inter-Process Signal 31" />
+    </Register>
+    <Register start="+0x208+4" size="4" name="TAL_SMASK1_1" access="Read/Write" description="Inter-Process Signal Mask m for CPU n - Group 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS0" description="Inter-Process Signal 0" />
+      <BitField start="1" size="1" name="IPS1" description="Inter-Process Signal 1" />
+      <BitField start="2" size="1" name="IPS2" description="Inter-Process Signal 2" />
+      <BitField start="3" size="1" name="IPS3" description="Inter-Process Signal 3" />
+      <BitField start="4" size="1" name="IPS4" description="Inter-Process Signal 4" />
+      <BitField start="5" size="1" name="IPS5" description="Inter-Process Signal 5" />
+      <BitField start="6" size="1" name="IPS6" description="Inter-Process Signal 6" />
+      <BitField start="7" size="1" name="IPS7" description="Inter-Process Signal 7" />
+      <BitField start="8" size="1" name="IPS8" description="Inter-Process Signal 8" />
+      <BitField start="9" size="1" name="IPS9" description="Inter-Process Signal 9" />
+      <BitField start="10" size="1" name="IPS10" description="Inter-Process Signal 10" />
+      <BitField start="11" size="1" name="IPS11" description="Inter-Process Signal 11" />
+      <BitField start="12" size="1" name="IPS12" description="Inter-Process Signal 12" />
+      <BitField start="13" size="1" name="IPS13" description="Inter-Process Signal 13" />
+      <BitField start="14" size="1" name="IPS14" description="Inter-Process Signal 14" />
+      <BitField start="15" size="1" name="IPS15" description="Inter-Process Signal 15" />
+      <BitField start="16" size="1" name="IPS16" description="Inter-Process Signal 16" />
+      <BitField start="17" size="1" name="IPS17" description="Inter-Process Signal 17" />
+      <BitField start="18" size="1" name="IPS18" description="Inter-Process Signal 18" />
+      <BitField start="19" size="1" name="IPS19" description="Inter-Process Signal 19" />
+      <BitField start="20" size="1" name="IPS20" description="Inter-Process Signal 20" />
+      <BitField start="21" size="1" name="IPS21" description="Inter-Process Signal 21" />
+      <BitField start="22" size="1" name="IPS22" description="Inter-Process Signal 22" />
+      <BitField start="23" size="1" name="IPS23" description="Inter-Process Signal 23" />
+      <BitField start="24" size="1" name="IPS24" description="Inter-Process Signal 24" />
+      <BitField start="25" size="1" name="IPS25" description="Inter-Process Signal 25" />
+      <BitField start="26" size="1" name="IPS26" description="Inter-Process Signal 26" />
+      <BitField start="27" size="1" name="IPS27" description="Inter-Process Signal 27" />
+      <BitField start="28" size="1" name="IPS28" description="Inter-Process Signal 28" />
+      <BitField start="29" size="1" name="IPS29" description="Inter-Process Signal 29" />
+      <BitField start="30" size="1" name="IPS30" description="Inter-Process Signal 30" />
+      <BitField start="31" size="1" name="IPS31" description="Inter-Process Signal 31" />
+    </Register>
+    <Register start="+0x220+0" size="4" name="TAL_SFLAGCLR0" access="WriteOnly" description="Inter-Process Signal Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS0" description="Inter-Process Signal 0" />
+      <BitField start="1" size="1" name="IPS1" description="Inter-Process Signal 1" />
+      <BitField start="2" size="1" name="IPS2" description="Inter-Process Signal 2" />
+      <BitField start="3" size="1" name="IPS3" description="Inter-Process Signal 3" />
+      <BitField start="4" size="1" name="IPS4" description="Inter-Process Signal 4" />
+      <BitField start="5" size="1" name="IPS5" description="Inter-Process Signal 5" />
+      <BitField start="6" size="1" name="IPS6" description="Inter-Process Signal 6" />
+      <BitField start="7" size="1" name="IPS7" description="Inter-Process Signal 7" />
+      <BitField start="8" size="1" name="IPS8" description="Inter-Process Signal 8" />
+      <BitField start="9" size="1" name="IPS9" description="Inter-Process Signal 9" />
+      <BitField start="10" size="1" name="IPS10" description="Inter-Process Signal 10" />
+      <BitField start="11" size="1" name="IPS11" description="Inter-Process Signal 11" />
+      <BitField start="12" size="1" name="IPS12" description="Inter-Process Signal 12" />
+      <BitField start="13" size="1" name="IPS13" description="Inter-Process Signal 13" />
+      <BitField start="14" size="1" name="IPS14" description="Inter-Process Signal 14" />
+      <BitField start="15" size="1" name="IPS15" description="Inter-Process Signal 15" />
+      <BitField start="16" size="1" name="IPS16" description="Inter-Process Signal 16" />
+      <BitField start="17" size="1" name="IPS17" description="Inter-Process Signal 17" />
+      <BitField start="18" size="1" name="IPS18" description="Inter-Process Signal 18" />
+      <BitField start="19" size="1" name="IPS19" description="Inter-Process Signal 19" />
+      <BitField start="20" size="1" name="IPS20" description="Inter-Process Signal 20" />
+      <BitField start="21" size="1" name="IPS21" description="Inter-Process Signal 21" />
+      <BitField start="22" size="1" name="IPS22" description="Inter-Process Signal 22" />
+      <BitField start="23" size="1" name="IPS23" description="Inter-Process Signal 23" />
+      <BitField start="24" size="1" name="IPS24" description="Inter-Process Signal 24" />
+      <BitField start="25" size="1" name="IPS25" description="Inter-Process Signal 25" />
+      <BitField start="26" size="1" name="IPS26" description="Inter-Process Signal 26" />
+      <BitField start="27" size="1" name="IPS27" description="Inter-Process Signal 27" />
+      <BitField start="28" size="1" name="IPS28" description="Inter-Process Signal 28" />
+      <BitField start="29" size="1" name="IPS29" description="Inter-Process Signal 29" />
+      <BitField start="30" size="1" name="IPS30" description="Inter-Process Signal 30" />
+      <BitField start="31" size="1" name="IPS31" description="Inter-Process Signal 31" />
+    </Register>
+    <Register start="+0x220+4" size="4" name="TAL_SFLAGCLR1" access="WriteOnly" description="Inter-Process Signal Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS0" description="Inter-Process Signal 0" />
+      <BitField start="1" size="1" name="IPS1" description="Inter-Process Signal 1" />
+      <BitField start="2" size="1" name="IPS2" description="Inter-Process Signal 2" />
+      <BitField start="3" size="1" name="IPS3" description="Inter-Process Signal 3" />
+      <BitField start="4" size="1" name="IPS4" description="Inter-Process Signal 4" />
+      <BitField start="5" size="1" name="IPS5" description="Inter-Process Signal 5" />
+      <BitField start="6" size="1" name="IPS6" description="Inter-Process Signal 6" />
+      <BitField start="7" size="1" name="IPS7" description="Inter-Process Signal 7" />
+      <BitField start="8" size="1" name="IPS8" description="Inter-Process Signal 8" />
+      <BitField start="9" size="1" name="IPS9" description="Inter-Process Signal 9" />
+      <BitField start="10" size="1" name="IPS10" description="Inter-Process Signal 10" />
+      <BitField start="11" size="1" name="IPS11" description="Inter-Process Signal 11" />
+      <BitField start="12" size="1" name="IPS12" description="Inter-Process Signal 12" />
+      <BitField start="13" size="1" name="IPS13" description="Inter-Process Signal 13" />
+      <BitField start="14" size="1" name="IPS14" description="Inter-Process Signal 14" />
+      <BitField start="15" size="1" name="IPS15" description="Inter-Process Signal 15" />
+      <BitField start="16" size="1" name="IPS16" description="Inter-Process Signal 16" />
+      <BitField start="17" size="1" name="IPS17" description="Inter-Process Signal 17" />
+      <BitField start="18" size="1" name="IPS18" description="Inter-Process Signal 18" />
+      <BitField start="19" size="1" name="IPS19" description="Inter-Process Signal 19" />
+      <BitField start="20" size="1" name="IPS20" description="Inter-Process Signal 20" />
+      <BitField start="21" size="1" name="IPS21" description="Inter-Process Signal 21" />
+      <BitField start="22" size="1" name="IPS22" description="Inter-Process Signal 22" />
+      <BitField start="23" size="1" name="IPS23" description="Inter-Process Signal 23" />
+      <BitField start="24" size="1" name="IPS24" description="Inter-Process Signal 24" />
+      <BitField start="25" size="1" name="IPS25" description="Inter-Process Signal 25" />
+      <BitField start="26" size="1" name="IPS26" description="Inter-Process Signal 26" />
+      <BitField start="27" size="1" name="IPS27" description="Inter-Process Signal 27" />
+      <BitField start="28" size="1" name="IPS28" description="Inter-Process Signal 28" />
+      <BitField start="29" size="1" name="IPS29" description="Inter-Process Signal 29" />
+      <BitField start="30" size="1" name="IPS30" description="Inter-Process Signal 30" />
+      <BitField start="31" size="1" name="IPS31" description="Inter-Process Signal 31" />
+    </Register>
+    <Register start="+0x228+0" size="4" name="TAL_SFLAGSET0" access="WriteOnly" description="Inter-Process Signal Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS0" description="Inter-Process Signal 0" />
+      <BitField start="1" size="1" name="IPS1" description="Inter-Process Signal 1" />
+      <BitField start="2" size="1" name="IPS2" description="Inter-Process Signal 2" />
+      <BitField start="3" size="1" name="IPS3" description="Inter-Process Signal 3" />
+      <BitField start="4" size="1" name="IPS4" description="Inter-Process Signal 4" />
+      <BitField start="5" size="1" name="IPS5" description="Inter-Process Signal 5" />
+      <BitField start="6" size="1" name="IPS6" description="Inter-Process Signal 6" />
+      <BitField start="7" size="1" name="IPS7" description="Inter-Process Signal 7" />
+      <BitField start="8" size="1" name="IPS8" description="Inter-Process Signal 8" />
+      <BitField start="9" size="1" name="IPS9" description="Inter-Process Signal 9" />
+      <BitField start="10" size="1" name="IPS10" description="Inter-Process Signal 10" />
+      <BitField start="11" size="1" name="IPS11" description="Inter-Process Signal 11" />
+      <BitField start="12" size="1" name="IPS12" description="Inter-Process Signal 12" />
+      <BitField start="13" size="1" name="IPS13" description="Inter-Process Signal 13" />
+      <BitField start="14" size="1" name="IPS14" description="Inter-Process Signal 14" />
+      <BitField start="15" size="1" name="IPS15" description="Inter-Process Signal 15" />
+      <BitField start="16" size="1" name="IPS16" description="Inter-Process Signal 16" />
+      <BitField start="17" size="1" name="IPS17" description="Inter-Process Signal 17" />
+      <BitField start="18" size="1" name="IPS18" description="Inter-Process Signal 18" />
+      <BitField start="19" size="1" name="IPS19" description="Inter-Process Signal 19" />
+      <BitField start="20" size="1" name="IPS20" description="Inter-Process Signal 20" />
+      <BitField start="21" size="1" name="IPS21" description="Inter-Process Signal 21" />
+      <BitField start="22" size="1" name="IPS22" description="Inter-Process Signal 22" />
+      <BitField start="23" size="1" name="IPS23" description="Inter-Process Signal 23" />
+      <BitField start="24" size="1" name="IPS24" description="Inter-Process Signal 24" />
+      <BitField start="25" size="1" name="IPS25" description="Inter-Process Signal 25" />
+      <BitField start="26" size="1" name="IPS26" description="Inter-Process Signal 26" />
+      <BitField start="27" size="1" name="IPS27" description="Inter-Process Signal 27" />
+      <BitField start="28" size="1" name="IPS28" description="Inter-Process Signal 28" />
+      <BitField start="29" size="1" name="IPS29" description="Inter-Process Signal 29" />
+      <BitField start="30" size="1" name="IPS30" description="Inter-Process Signal 30" />
+      <BitField start="31" size="1" name="IPS31" description="Inter-Process Signal 31" />
+    </Register>
+    <Register start="+0x228+4" size="4" name="TAL_SFLAGSET1" access="WriteOnly" description="Inter-Process Signal Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS0" description="Inter-Process Signal 0" />
+      <BitField start="1" size="1" name="IPS1" description="Inter-Process Signal 1" />
+      <BitField start="2" size="1" name="IPS2" description="Inter-Process Signal 2" />
+      <BitField start="3" size="1" name="IPS3" description="Inter-Process Signal 3" />
+      <BitField start="4" size="1" name="IPS4" description="Inter-Process Signal 4" />
+      <BitField start="5" size="1" name="IPS5" description="Inter-Process Signal 5" />
+      <BitField start="6" size="1" name="IPS6" description="Inter-Process Signal 6" />
+      <BitField start="7" size="1" name="IPS7" description="Inter-Process Signal 7" />
+      <BitField start="8" size="1" name="IPS8" description="Inter-Process Signal 8" />
+      <BitField start="9" size="1" name="IPS9" description="Inter-Process Signal 9" />
+      <BitField start="10" size="1" name="IPS10" description="Inter-Process Signal 10" />
+      <BitField start="11" size="1" name="IPS11" description="Inter-Process Signal 11" />
+      <BitField start="12" size="1" name="IPS12" description="Inter-Process Signal 12" />
+      <BitField start="13" size="1" name="IPS13" description="Inter-Process Signal 13" />
+      <BitField start="14" size="1" name="IPS14" description="Inter-Process Signal 14" />
+      <BitField start="15" size="1" name="IPS15" description="Inter-Process Signal 15" />
+      <BitField start="16" size="1" name="IPS16" description="Inter-Process Signal 16" />
+      <BitField start="17" size="1" name="IPS17" description="Inter-Process Signal 17" />
+      <BitField start="18" size="1" name="IPS18" description="Inter-Process Signal 18" />
+      <BitField start="19" size="1" name="IPS19" description="Inter-Process Signal 19" />
+      <BitField start="20" size="1" name="IPS20" description="Inter-Process Signal 20" />
+      <BitField start="21" size="1" name="IPS21" description="Inter-Process Signal 21" />
+      <BitField start="22" size="1" name="IPS22" description="Inter-Process Signal 22" />
+      <BitField start="23" size="1" name="IPS23" description="Inter-Process Signal 23" />
+      <BitField start="24" size="1" name="IPS24" description="Inter-Process Signal 24" />
+      <BitField start="25" size="1" name="IPS25" description="Inter-Process Signal 25" />
+      <BitField start="26" size="1" name="IPS26" description="Inter-Process Signal 26" />
+      <BitField start="27" size="1" name="IPS27" description="Inter-Process Signal 27" />
+      <BitField start="28" size="1" name="IPS28" description="Inter-Process Signal 28" />
+      <BitField start="29" size="1" name="IPS29" description="Inter-Process Signal 29" />
+      <BitField start="30" size="1" name="IPS30" description="Inter-Process Signal 30" />
+      <BitField start="31" size="1" name="IPS31" description="Inter-Process Signal 31" />
+    </Register>
+    <Register start="+0x230+0" size="4" name="TAL_SFLAG0" access="ReadOnly" description="Inter-Process Signal Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS0" description="Inter-Process Signal 0" />
+      <BitField start="1" size="1" name="IPS1" description="Inter-Process Signal 1" />
+      <BitField start="2" size="1" name="IPS2" description="Inter-Process Signal 2" />
+      <BitField start="3" size="1" name="IPS3" description="Inter-Process Signal 3" />
+      <BitField start="4" size="1" name="IPS4" description="Inter-Process Signal 4" />
+      <BitField start="5" size="1" name="IPS5" description="Inter-Process Signal 5" />
+      <BitField start="6" size="1" name="IPS6" description="Inter-Process Signal 6" />
+      <BitField start="7" size="1" name="IPS7" description="Inter-Process Signal 7" />
+      <BitField start="8" size="1" name="IPS8" description="Inter-Process Signal 8" />
+      <BitField start="9" size="1" name="IPS9" description="Inter-Process Signal 9" />
+      <BitField start="10" size="1" name="IPS10" description="Inter-Process Signal 10" />
+      <BitField start="11" size="1" name="IPS11" description="Inter-Process Signal 11" />
+      <BitField start="12" size="1" name="IPS12" description="Inter-Process Signal 12" />
+      <BitField start="13" size="1" name="IPS13" description="Inter-Process Signal 13" />
+      <BitField start="14" size="1" name="IPS14" description="Inter-Process Signal 14" />
+      <BitField start="15" size="1" name="IPS15" description="Inter-Process Signal 15" />
+      <BitField start="16" size="1" name="IPS16" description="Inter-Process Signal 16" />
+      <BitField start="17" size="1" name="IPS17" description="Inter-Process Signal 17" />
+      <BitField start="18" size="1" name="IPS18" description="Inter-Process Signal 18" />
+      <BitField start="19" size="1" name="IPS19" description="Inter-Process Signal 19" />
+      <BitField start="20" size="1" name="IPS20" description="Inter-Process Signal 20" />
+      <BitField start="21" size="1" name="IPS21" description="Inter-Process Signal 21" />
+      <BitField start="22" size="1" name="IPS22" description="Inter-Process Signal 22" />
+      <BitField start="23" size="1" name="IPS23" description="Inter-Process Signal 23" />
+      <BitField start="24" size="1" name="IPS24" description="Inter-Process Signal 24" />
+      <BitField start="25" size="1" name="IPS25" description="Inter-Process Signal 25" />
+      <BitField start="26" size="1" name="IPS26" description="Inter-Process Signal 26" />
+      <BitField start="27" size="1" name="IPS27" description="Inter-Process Signal 27" />
+      <BitField start="28" size="1" name="IPS28" description="Inter-Process Signal 28" />
+      <BitField start="29" size="1" name="IPS29" description="Inter-Process Signal 29" />
+      <BitField start="30" size="1" name="IPS30" description="Inter-Process Signal 30" />
+      <BitField start="31" size="1" name="IPS31" description="Inter-Process Signal 31" />
+    </Register>
+    <Register start="+0x230+4" size="4" name="TAL_SFLAG1" access="ReadOnly" description="Inter-Process Signal Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS0" description="Inter-Process Signal 0" />
+      <BitField start="1" size="1" name="IPS1" description="Inter-Process Signal 1" />
+      <BitField start="2" size="1" name="IPS2" description="Inter-Process Signal 2" />
+      <BitField start="3" size="1" name="IPS3" description="Inter-Process Signal 3" />
+      <BitField start="4" size="1" name="IPS4" description="Inter-Process Signal 4" />
+      <BitField start="5" size="1" name="IPS5" description="Inter-Process Signal 5" />
+      <BitField start="6" size="1" name="IPS6" description="Inter-Process Signal 6" />
+      <BitField start="7" size="1" name="IPS7" description="Inter-Process Signal 7" />
+      <BitField start="8" size="1" name="IPS8" description="Inter-Process Signal 8" />
+      <BitField start="9" size="1" name="IPS9" description="Inter-Process Signal 9" />
+      <BitField start="10" size="1" name="IPS10" description="Inter-Process Signal 10" />
+      <BitField start="11" size="1" name="IPS11" description="Inter-Process Signal 11" />
+      <BitField start="12" size="1" name="IPS12" description="Inter-Process Signal 12" />
+      <BitField start="13" size="1" name="IPS13" description="Inter-Process Signal 13" />
+      <BitField start="14" size="1" name="IPS14" description="Inter-Process Signal 14" />
+      <BitField start="15" size="1" name="IPS15" description="Inter-Process Signal 15" />
+      <BitField start="16" size="1" name="IPS16" description="Inter-Process Signal 16" />
+      <BitField start="17" size="1" name="IPS17" description="Inter-Process Signal 17" />
+      <BitField start="18" size="1" name="IPS18" description="Inter-Process Signal 18" />
+      <BitField start="19" size="1" name="IPS19" description="Inter-Process Signal 19" />
+      <BitField start="20" size="1" name="IPS20" description="Inter-Process Signal 20" />
+      <BitField start="21" size="1" name="IPS21" description="Inter-Process Signal 21" />
+      <BitField start="22" size="1" name="IPS22" description="Inter-Process Signal 22" />
+      <BitField start="23" size="1" name="IPS23" description="Inter-Process Signal 23" />
+      <BitField start="24" size="1" name="IPS24" description="Inter-Process Signal 24" />
+      <BitField start="25" size="1" name="IPS25" description="Inter-Process Signal 25" />
+      <BitField start="26" size="1" name="IPS26" description="Inter-Process Signal 26" />
+      <BitField start="27" size="1" name="IPS27" description="Inter-Process Signal 27" />
+      <BitField start="28" size="1" name="IPS28" description="Inter-Process Signal 28" />
+      <BitField start="29" size="1" name="IPS29" description="Inter-Process Signal 29" />
+      <BitField start="30" size="1" name="IPS30" description="Inter-Process Signal 30" />
+      <BitField start="31" size="1" name="IPS31" description="Inter-Process Signal 31" />
+    </Register>
+    <Register start="+0x300+0" size="1" name="TAL_SFLAGCLRR0" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+1" size="1" name="TAL_SFLAGCLRR1" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+2" size="1" name="TAL_SFLAGCLRR2" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+3" size="1" name="TAL_SFLAGCLRR3" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+4" size="1" name="TAL_SFLAGCLRR4" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+5" size="1" name="TAL_SFLAGCLRR5" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+6" size="1" name="TAL_SFLAGCLRR6" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+7" size="1" name="TAL_SFLAGCLRR7" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+8" size="1" name="TAL_SFLAGCLRR8" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+9" size="1" name="TAL_SFLAGCLRR9" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+10" size="1" name="TAL_SFLAGCLRR10" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+11" size="1" name="TAL_SFLAGCLRR11" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+12" size="1" name="TAL_SFLAGCLRR12" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+13" size="1" name="TAL_SFLAGCLRR13" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+14" size="1" name="TAL_SFLAGCLRR14" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+15" size="1" name="TAL_SFLAGCLRR15" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+16" size="1" name="TAL_SFLAGCLRR16" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+17" size="1" name="TAL_SFLAGCLRR17" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+18" size="1" name="TAL_SFLAGCLRR18" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+19" size="1" name="TAL_SFLAGCLRR19" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+20" size="1" name="TAL_SFLAGCLRR20" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+21" size="1" name="TAL_SFLAGCLRR21" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+22" size="1" name="TAL_SFLAGCLRR22" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+23" size="1" name="TAL_SFLAGCLRR23" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+24" size="1" name="TAL_SFLAGCLRR24" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+25" size="1" name="TAL_SFLAGCLRR25" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+26" size="1" name="TAL_SFLAGCLRR26" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+27" size="1" name="TAL_SFLAGCLRR27" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+28" size="1" name="TAL_SFLAGCLRR28" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+29" size="1" name="TAL_SFLAGCLRR29" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+30" size="1" name="TAL_SFLAGCLRR30" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+31" size="1" name="TAL_SFLAGCLRR31" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+32" size="1" name="TAL_SFLAGCLRR32" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+33" size="1" name="TAL_SFLAGCLRR33" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+34" size="1" name="TAL_SFLAGCLRR34" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+35" size="1" name="TAL_SFLAGCLRR35" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+36" size="1" name="TAL_SFLAGCLRR36" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+37" size="1" name="TAL_SFLAGCLRR37" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+38" size="1" name="TAL_SFLAGCLRR38" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+39" size="1" name="TAL_SFLAGCLRR39" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+40" size="1" name="TAL_SFLAGCLRR40" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+41" size="1" name="TAL_SFLAGCLRR41" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+42" size="1" name="TAL_SFLAGCLRR42" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+43" size="1" name="TAL_SFLAGCLRR43" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+44" size="1" name="TAL_SFLAGCLRR44" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+45" size="1" name="TAL_SFLAGCLRR45" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+46" size="1" name="TAL_SFLAGCLRR46" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+47" size="1" name="TAL_SFLAGCLRR47" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+48" size="1" name="TAL_SFLAGCLRR48" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+49" size="1" name="TAL_SFLAGCLRR49" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+50" size="1" name="TAL_SFLAGCLRR50" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+51" size="1" name="TAL_SFLAGCLRR51" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+52" size="1" name="TAL_SFLAGCLRR52" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+53" size="1" name="TAL_SFLAGCLRR53" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+54" size="1" name="TAL_SFLAGCLRR54" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+55" size="1" name="TAL_SFLAGCLRR55" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+56" size="1" name="TAL_SFLAGCLRR56" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+57" size="1" name="TAL_SFLAGCLRR57" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+58" size="1" name="TAL_SFLAGCLRR58" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+59" size="1" name="TAL_SFLAGCLRR59" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+60" size="1" name="TAL_SFLAGCLRR60" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+61" size="1" name="TAL_SFLAGCLRR61" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+62" size="1" name="TAL_SFLAGCLRR62" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+    <Register start="+0x300+63" size="1" name="TAL_SFLAGCLRR63" access="Read/Write" description="Inter-Process Signal Flag Bit n" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="IPS" description="Inter-Process Signal n" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC0 (COUNT8)" start="0x40003800" description="Basic Timer Counter 0">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="1" name="TC_COUNT" access="Read/Write" description="COUNT8 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1B" size="1" name="TC_PER" access="Read/Write" description="COUNT8 Period" reset_value="0xFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x1C+0" size="1" name="TC_CC0" access="Read/Write" description="COUNT8 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+1" size="1" name="TC_CC1" access="Read/Write" description="COUNT8 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x2F" size="1" name="TC_PERBUF" access="Read/Write" description="COUNT8 Period Buffer" reset_value="0xFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x30+0" size="1" name="TC_CCBUF0" access="Read/Write" description="COUNT8 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+1" size="1" name="TC_CCBUF1" access="Read/Write" description="COUNT8 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC0 (COUNT16)" start="0x40003800" description="Basic Timer Counter 0">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="2" name="TC_COUNT" access="Read/Write" description="COUNT16 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1C+0" size="2" name="TC_CC0" access="Read/Write" description="COUNT16 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+2" size="2" name="TC_CC1" access="Read/Write" description="COUNT16 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x30+0" size="2" name="TC_CCBUF0" access="Read/Write" description="COUNT16 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+2" size="2" name="TC_CCBUF1" access="Read/Write" description="COUNT16 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC0 (COUNT32)" start="0x40003800" description="Basic Timer Counter 0">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="4" name="TC_COUNT" access="Read/Write" description="COUNT32 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1C+0" size="4" name="TC_CC0" access="Read/Write" description="COUNT32 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+4" size="4" name="TC_CC1" access="Read/Write" description="COUNT32 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x30+0" size="4" name="TC_CCBUF0" access="Read/Write" description="COUNT32 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+4" size="4" name="TC_CCBUF1" access="Read/Write" description="COUNT32 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC1 (COUNT8)" start="0x40003C00" description="Basic Timer Counter 1">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="1" name="TC_COUNT" access="Read/Write" description="COUNT8 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1B" size="1" name="TC_PER" access="Read/Write" description="COUNT8 Period" reset_value="0xFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x1C+0" size="1" name="TC_CC0" access="Read/Write" description="COUNT8 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+1" size="1" name="TC_CC1" access="Read/Write" description="COUNT8 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x2F" size="1" name="TC_PERBUF" access="Read/Write" description="COUNT8 Period Buffer" reset_value="0xFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x30+0" size="1" name="TC_CCBUF0" access="Read/Write" description="COUNT8 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+1" size="1" name="TC_CCBUF1" access="Read/Write" description="COUNT8 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC1 (COUNT16)" start="0x40003C00" description="Basic Timer Counter 1">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="2" name="TC_COUNT" access="Read/Write" description="COUNT16 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1C+0" size="2" name="TC_CC0" access="Read/Write" description="COUNT16 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+2" size="2" name="TC_CC1" access="Read/Write" description="COUNT16 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x30+0" size="2" name="TC_CCBUF0" access="Read/Write" description="COUNT16 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+2" size="2" name="TC_CCBUF1" access="Read/Write" description="COUNT16 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC1 (COUNT32)" start="0x40003C00" description="Basic Timer Counter 1">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="4" name="TC_COUNT" access="Read/Write" description="COUNT32 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1C+0" size="4" name="TC_CC0" access="Read/Write" description="COUNT32 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+4" size="4" name="TC_CC1" access="Read/Write" description="COUNT32 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x30+0" size="4" name="TC_CCBUF0" access="Read/Write" description="COUNT32 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+4" size="4" name="TC_CCBUF1" access="Read/Write" description="COUNT32 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC2 (COUNT8)" start="0x4101A000" description="Basic Timer Counter 2">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="1" name="TC_COUNT" access="Read/Write" description="COUNT8 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1B" size="1" name="TC_PER" access="Read/Write" description="COUNT8 Period" reset_value="0xFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x1C+0" size="1" name="TC_CC0" access="Read/Write" description="COUNT8 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+1" size="1" name="TC_CC1" access="Read/Write" description="COUNT8 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x2F" size="1" name="TC_PERBUF" access="Read/Write" description="COUNT8 Period Buffer" reset_value="0xFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x30+0" size="1" name="TC_CCBUF0" access="Read/Write" description="COUNT8 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+1" size="1" name="TC_CCBUF1" access="Read/Write" description="COUNT8 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC2 (COUNT16)" start="0x4101A000" description="Basic Timer Counter 2">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="2" name="TC_COUNT" access="Read/Write" description="COUNT16 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1C+0" size="2" name="TC_CC0" access="Read/Write" description="COUNT16 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+2" size="2" name="TC_CC1" access="Read/Write" description="COUNT16 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x30+0" size="2" name="TC_CCBUF0" access="Read/Write" description="COUNT16 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+2" size="2" name="TC_CCBUF1" access="Read/Write" description="COUNT16 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC2 (COUNT32)" start="0x4101A000" description="Basic Timer Counter 2">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="4" name="TC_COUNT" access="Read/Write" description="COUNT32 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1C+0" size="4" name="TC_CC0" access="Read/Write" description="COUNT32 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+4" size="4" name="TC_CC1" access="Read/Write" description="COUNT32 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x30+0" size="4" name="TC_CCBUF0" access="Read/Write" description="COUNT32 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+4" size="4" name="TC_CCBUF1" access="Read/Write" description="COUNT32 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC3 (COUNT8)" start="0x4101C000" description="Basic Timer Counter 3">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="1" name="TC_COUNT" access="Read/Write" description="COUNT8 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1B" size="1" name="TC_PER" access="Read/Write" description="COUNT8 Period" reset_value="0xFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x1C+0" size="1" name="TC_CC0" access="Read/Write" description="COUNT8 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+1" size="1" name="TC_CC1" access="Read/Write" description="COUNT8 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x2F" size="1" name="TC_PERBUF" access="Read/Write" description="COUNT8 Period Buffer" reset_value="0xFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x30+0" size="1" name="TC_CCBUF0" access="Read/Write" description="COUNT8 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+1" size="1" name="TC_CCBUF1" access="Read/Write" description="COUNT8 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC3 (COUNT16)" start="0x4101C000" description="Basic Timer Counter 3">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="2" name="TC_COUNT" access="Read/Write" description="COUNT16 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1C+0" size="2" name="TC_CC0" access="Read/Write" description="COUNT16 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+2" size="2" name="TC_CC1" access="Read/Write" description="COUNT16 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x30+0" size="2" name="TC_CCBUF0" access="Read/Write" description="COUNT16 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+2" size="2" name="TC_CCBUF1" access="Read/Write" description="COUNT16 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC3 (COUNT32)" start="0x4101C000" description="Basic Timer Counter 3">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="4" name="TC_COUNT" access="Read/Write" description="COUNT32 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1C+0" size="4" name="TC_CC0" access="Read/Write" description="COUNT32 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+4" size="4" name="TC_CC1" access="Read/Write" description="COUNT32 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x30+0" size="4" name="TC_CCBUF0" access="Read/Write" description="COUNT32 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+4" size="4" name="TC_CCBUF1" access="Read/Write" description="COUNT32 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC4 (COUNT8)" start="0x42001400" description="Basic Timer Counter 4">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="1" name="TC_COUNT" access="Read/Write" description="COUNT8 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1B" size="1" name="TC_PER" access="Read/Write" description="COUNT8 Period" reset_value="0xFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x1C+0" size="1" name="TC_CC0" access="Read/Write" description="COUNT8 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+1" size="1" name="TC_CC1" access="Read/Write" description="COUNT8 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x2F" size="1" name="TC_PERBUF" access="Read/Write" description="COUNT8 Period Buffer" reset_value="0xFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x30+0" size="1" name="TC_CCBUF0" access="Read/Write" description="COUNT8 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+1" size="1" name="TC_CCBUF1" access="Read/Write" description="COUNT8 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC4 (COUNT16)" start="0x42001400" description="Basic Timer Counter 4">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="2" name="TC_COUNT" access="Read/Write" description="COUNT16 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1C+0" size="2" name="TC_CC0" access="Read/Write" description="COUNT16 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+2" size="2" name="TC_CC1" access="Read/Write" description="COUNT16 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x30+0" size="2" name="TC_CCBUF0" access="Read/Write" description="COUNT16 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+2" size="2" name="TC_CCBUF1" access="Read/Write" description="COUNT16 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC4 (COUNT32)" start="0x42001400" description="Basic Timer Counter 4">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="4" name="TC_COUNT" access="Read/Write" description="COUNT32 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1C+0" size="4" name="TC_CC0" access="Read/Write" description="COUNT32 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+4" size="4" name="TC_CC1" access="Read/Write" description="COUNT32 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x30+0" size="4" name="TC_CCBUF0" access="Read/Write" description="COUNT32 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+4" size="4" name="TC_CCBUF1" access="Read/Write" description="COUNT32 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC5 (COUNT8)" start="0x42001800" description="Basic Timer Counter 5">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="1" name="TC_COUNT" access="Read/Write" description="COUNT8 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1B" size="1" name="TC_PER" access="Read/Write" description="COUNT8 Period" reset_value="0xFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x1C+0" size="1" name="TC_CC0" access="Read/Write" description="COUNT8 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+1" size="1" name="TC_CC1" access="Read/Write" description="COUNT8 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x2F" size="1" name="TC_PERBUF" access="Read/Write" description="COUNT8 Period Buffer" reset_value="0xFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x30+0" size="1" name="TC_CCBUF0" access="Read/Write" description="COUNT8 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+1" size="1" name="TC_CCBUF1" access="Read/Write" description="COUNT8 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC5 (COUNT16)" start="0x42001800" description="Basic Timer Counter 5">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="2" name="TC_COUNT" access="Read/Write" description="COUNT16 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1C+0" size="2" name="TC_CC0" access="Read/Write" description="COUNT16 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+2" size="2" name="TC_CC1" access="Read/Write" description="COUNT16 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x30+0" size="2" name="TC_CCBUF0" access="Read/Write" description="COUNT16 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+2" size="2" name="TC_CCBUF1" access="Read/Write" description="COUNT16 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="16" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TC5 (COUNT32)" start="0x42001800" description="Basic Timer Counter 5">
+    <Register start="+0x00" size="4" name="TC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="2" name="MODE" description="Timer Counter Mode">
+        <Enum name="COUNT16" start="0x0" description="Counter in 16-bit mode" />
+        <Enum name="COUNT8" start="0x1" description="Counter in 8-bit mode" />
+        <Enum name="COUNT32" start="0x2" description="Counter in 32-bit mode" />
+      </BitField>
+      <BitField start="4" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization">
+        <Enum name="GCLK" start="0x0" description="Reload or reset the counter on next generic clock" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset the counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset the counter on next generic clock and reset the prescaler counter" />
+      </BitField>
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run during Standby" />
+      <BitField start="7" size="1" name="ONDEMAND" description="Clock On Demand" />
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="Prescaler: GCLK_TC" />
+        <Enum name="DIV2" start="0x1" description="Prescaler: GCLK_TC/2" />
+        <Enum name="DIV4" start="0x2" description="Prescaler: GCLK_TC/4" />
+        <Enum name="DIV8" start="0x3" description="Prescaler: GCLK_TC/8" />
+        <Enum name="DIV16" start="0x4" description="Prescaler: GCLK_TC/16" />
+        <Enum name="DIV64" start="0x5" description="Prescaler: GCLK_TC/64" />
+        <Enum name="DIV256" start="0x6" description="Prescaler: GCLK_TC/256" />
+        <Enum name="DIV1024" start="0x7" description="Prescaler: GCLK_TC/1024" />
+      </BitField>
+      <BitField start="11" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="16" size="1" name="CAPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="17" size="1" name="CAPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="20" size="1" name="COPEN0" description="Capture On Pin 0 Enable" />
+      <BitField start="21" size="1" name="COPEN1" description="Capture On Pin 1 Enable" />
+      <BitField start="24" size="2" name="CAPTMODE0" description="Capture Mode Channel 0">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+      <BitField start="27" size="2" name="CAPTMODE1" description="Capture mode Channel 1">
+        <Enum name="DEFAULT" start="0x0" description="Default capture" />
+        <Enum name="CAPTMIN" start="0x1" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x2" description="Maximum capture" />
+      </BitField>
+    </Register>
+    <Register start="+0x04" size="1" name="TC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot on Counter" />
+      <BitField start="5" size="3" name="CMD" description="Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Force a start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force a stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update of double-buffered register" />
+        <Enum name="READSYNC" start="0x4" description="Force a read synchronization of COUNT" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x06" size="2" name="TC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT" description="Event Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or retrigger TC on event" />
+        <Enum name="COUNT" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start TC on event" />
+        <Enum name="STAMP" start="0x4" description="Time stamp capture" />
+        <Enum name="PPW" start="0x5" description="Period catured in CC0, pulse width in CC1" />
+        <Enum name="PWP" start="0x6" description="Period catured in CC1, pulse width in CC0" />
+        <Enum name="PW" start="0x7" description="Pulse width capture" />
+      </BitField>
+      <BitField start="4" size="1" name="TCINV" description="TC Event Input Polarity" />
+      <BitField start="5" size="1" name="TCEI" description="TC Event Enable" />
+      <BitField start="8" size="1" name="OVFEO" description="Event Output Enable" />
+      <BitField start="12" size="1" name="MCEO0" description="MC Event Output Enable 0" />
+      <BitField start="13" size="1" name="MCEO1" description="MC Event Output Enable 1" />
+    </Register>
+    <Register start="+0x08" size="1" name="TC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Disable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Disable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Disable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Disable 1" />
+    </Register>
+    <Register start="+0x09" size="1" name="TC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Enable" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Enable" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Enable 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Enable 1" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="OVF Interrupt Flag" />
+      <BitField start="1" size="1" name="ERR" description="ERR Interrupt Flag" />
+      <BitField start="4" size="1" name="MC0" description="MC Interrupt Flag 0" />
+      <BitField start="5" size="1" name="MC1" description="MC Interrupt Flag 1" />
+    </Register>
+    <Register start="+0x0B" size="1" name="TC_STATUS" access="Read/Write" description="Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop Status Flag" />
+      <BitField start="1" size="1" name="SLAVE" description="Slave Status Flag" />
+      <BitField start="3" size="1" name="PERBUFV" description="Synchronization Busy Status" />
+      <BitField start="4" size="1" name="CCBUFV0" description="Compare channel buffer 0 valid" />
+      <BitField start="5" size="1" name="CCBUFV1" description="Compare channel buffer 1 valid" />
+    </Register>
+    <Register start="+0x0C" size="1" name="TC_WAVE" access="Read/Write" description="Waveform Generation Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="WAVEGEN" description="Waveform Generation Mode">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="MPWM" start="0x3" description="Match PWM" />
+      </BitField>
+    </Register>
+    <Register start="+0x0D" size="1" name="TC_DRVCTRL" access="Read/Write" description="Control C" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="INVEN0" description="Output Waveform Invert Enable 0" />
+      <BitField start="1" size="1" name="INVEN1" description="Output Waveform Invert Enable 1" />
+    </Register>
+    <Register start="+0x0F" size="1" name="TC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Run During Debug" />
+    </Register>
+    <Register start="+0x10" size="4" name="TC_SYNCBUSY" access="ReadOnly" description="Synchronization Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="swrst" />
+      <BitField start="1" size="1" name="ENABLE" description="enable" />
+      <BitField start="2" size="1" name="CTRLB" description="CTRLB" />
+      <BitField start="3" size="1" name="STATUS" description="STATUS" />
+      <BitField start="4" size="1" name="COUNT" description="Counter" />
+      <BitField start="5" size="1" name="PER" description="Period" />
+      <BitField start="6" size="1" name="CC0" description="Compare Channel 0" />
+      <BitField start="7" size="1" name="CC1" description="Compare Channel 1" />
+    </Register>
+    <Register start="+0x14" size="4" name="TC_COUNT" access="Read/Write" description="COUNT32 Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x1C+0" size="4" name="TC_CC0" access="Read/Write" description="COUNT32 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x1C+4" size="4" name="TC_CC1" access="Read/Write" description="COUNT32 Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CC" description="Counter/Compare Value" />
+    </Register>
+    <Register start="+0x30+0" size="4" name="TC_CCBUF0" access="Read/Write" description="COUNT32 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+    <Register start="+0x30+4" size="4" name="TC_CCBUF1" access="Read/Write" description="COUNT32 Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="CCBUF" description="Counter/Compare Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TCC0" start="0x41016000" description="Timer Counter Control 0">
+    <Register start="+0x00" size="4" name="TCC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="5" size="2" name="RESOLUTION" description="Enhanced Resolution">
+        <Enum name="NONE" start="0x0" description="Dithering is disabled" />
+        <Enum name="DITH4" start="0x1" description="Dithering is done every 16 PWM frames" />
+        <Enum name="DITH5" start="0x2" description="Dithering is done every 32 PWM frames" />
+        <Enum name="DITH6" start="0x3" description="Dithering is done every 64 PWM frames" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="No division" />
+        <Enum name="DIV2" start="0x1" description="Divide by 2" />
+        <Enum name="DIV4" start="0x2" description="Divide by 4" />
+        <Enum name="DIV8" start="0x3" description="Divide by 8" />
+        <Enum name="DIV16" start="0x4" description="Divide by 16" />
+        <Enum name="DIV64" start="0x5" description="Divide by 64" />
+        <Enum name="DIV256" start="0x6" description="Divide by 256" />
+        <Enum name="DIV1024" start="0x7" description="Divide by 1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization Selection">
+        <Enum name="GCLK" start="0x0" description="Reload or reset counter on next GCLK" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset counter on next GCLK and reset prescaler counter" />
+      </BitField>
+      <BitField start="14" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="15" size="1" name="MSYNC" description="Master Synchronization (only for TCC Slave Instance)" />
+      <BitField start="23" size="1" name="DMAOS" description="DMA One-shot Trigger Mode" />
+      <BitField start="24" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="25" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="26" size="1" name="CPTEN2" description="Capture Channel 2 Enable" />
+      <BitField start="27" size="1" name="CPTEN3" description="Capture Channel 3 Enable" />
+      <BitField start="28" size="1" name="CPTEN4" description="Capture Channel 4 Enable" />
+      <BitField start="29" size="1" name="CPTEN5" description="Capture Channel 5 Enable" />
+    </Register>
+    <Register start="+0x04" size="1" name="TCC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="3" size="2" name="IDXCMD" description="Ramp Index Command">
+        <Enum name="DISABLE" start="0x0" description="Command disabled: Index toggles between cycles A and B" />
+        <Enum name="SET" start="0x1" description="Set index: cycle B will be forced in the next cycle" />
+        <Enum name="CLEAR" start="0x2" description="Clear index: cycle A will be forced in the next cycle" />
+        <Enum name="HOLD" start="0x3" description="Hold index: the next cycle will be the same as the current cycle" />
+      </BitField>
+      <BitField start="5" size="3" name="CMD" description="TCC Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Clear start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update or double buffered registers" />
+        <Enum name="READSYNC" start="0x4" description="Force COUNT read synchronization" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TCC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="3" size="2" name="IDXCMD" description="Ramp Index Command">
+        <Enum name="DISABLE" start="0x0" description="Command disabled: Index toggles between cycles A and B" />
+        <Enum name="SET" start="0x1" description="Set index: cycle B will be forced in the next cycle" />
+        <Enum name="CLEAR" start="0x2" description="Clear index: cycle A will be forced in the next cycle" />
+        <Enum name="HOLD" start="0x3" description="Hold index: the next cycle will be the same as the current cycle" />
+      </BitField>
+      <BitField start="5" size="3" name="CMD" description="TCC Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Clear start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update or double buffered registers" />
+        <Enum name="READSYNC" start="0x4" description="Force COUNT read synchronization" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x08" size="4" name="TCC_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Swrst Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="Ctrlb Busy" />
+      <BitField start="3" size="1" name="STATUS" description="Status Busy" />
+      <BitField start="4" size="1" name="COUNT" description="Count Busy" />
+      <BitField start="5" size="1" name="PATT" description="Pattern Busy" />
+      <BitField start="6" size="1" name="WAVE" description="Wave Busy" />
+      <BitField start="7" size="1" name="PER" description="Period Busy" />
+      <BitField start="8" size="1" name="CC0" description="Compare Channel 0 Busy" />
+      <BitField start="9" size="1" name="CC1" description="Compare Channel 1 Busy" />
+      <BitField start="10" size="1" name="CC2" description="Compare Channel 2 Busy" />
+      <BitField start="11" size="1" name="CC3" description="Compare Channel 3 Busy" />
+      <BitField start="12" size="1" name="CC4" description="Compare Channel 4 Busy" />
+      <BitField start="13" size="1" name="CC5" description="Compare Channel 5 Busy" />
+    </Register>
+    <Register start="+0x0C" size="4" name="TCC_FCTRLA" access="Read/Write" description="Recoverable Fault A Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SRC" description="Fault A Source">
+        <Enum name="DISABLE" start="0x0" description="Fault input disabled" />
+        <Enum name="ENABLE" start="0x1" description="MCEx (x=0,1) event input" />
+        <Enum name="INVERT" start="0x2" description="Inverted MCEx (x=0,1) event input" />
+        <Enum name="ALTFAULT" start="0x3" description="Alternate fault (A or B) state at the end of the previous period" />
+      </BitField>
+      <BitField start="3" size="1" name="KEEP" description="Fault A Keeper" />
+      <BitField start="4" size="1" name="QUAL" description="Fault A Qualification" />
+      <BitField start="5" size="2" name="BLANK" description="Fault A Blanking Mode">
+        <Enum name="START" start="0x0" description="Blanking applied from start of the ramp" />
+        <Enum name="RISE" start="0x1" description="Blanking applied from rising edge of the output waveform" />
+        <Enum name="FALL" start="0x2" description="Blanking applied from falling edge of the output waveform" />
+        <Enum name="BOTH" start="0x3" description="Blanking applied from each toggle of the output waveform" />
+      </BitField>
+      <BitField start="7" size="1" name="RESTART" description="Fault A Restart" />
+      <BitField start="8" size="2" name="HALT" description="Fault A Halt Mode">
+        <Enum name="DISABLE" start="0x0" description="Halt action disabled" />
+        <Enum name="HW" start="0x1" description="Hardware halt action" />
+        <Enum name="SW" start="0x2" description="Software halt action" />
+        <Enum name="NR" start="0x3" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="10" size="2" name="CHSEL" description="Fault A Capture Channel">
+        <Enum name="CC0" start="0x0" description="Capture value stored in channel 0" />
+        <Enum name="CC1" start="0x1" description="Capture value stored in channel 1" />
+        <Enum name="CC2" start="0x2" description="Capture value stored in channel 2" />
+        <Enum name="CC3" start="0x3" description="Capture value stored in channel 3" />
+      </BitField>
+      <BitField start="12" size="3" name="CAPTURE" description="Fault A Capture Action">
+        <Enum name="DISABLE" start="0x0" description="No capture" />
+        <Enum name="CAPT" start="0x1" description="Capture on fault" />
+        <Enum name="CAPTMIN" start="0x2" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x3" description="Maximum capture" />
+        <Enum name="LOCMIN" start="0x4" description="Minimum local detection" />
+        <Enum name="LOCMAX" start="0x5" description="Maximum local detection" />
+        <Enum name="DERIV0" start="0x6" description="Minimum and maximum local detection" />
+        <Enum name="CAPTMARK" start="0x7" description="Capture with ramp index as MSB value" />
+      </BitField>
+      <BitField start="15" size="1" name="BLANKPRESC" description="Fault A Blanking Prescaler" />
+      <BitField start="16" size="8" name="BLANKVAL" description="Fault A Blanking Time" />
+      <BitField start="24" size="4" name="FILTERVAL" description="Fault A Filter Value" />
+    </Register>
+    <Register start="+0x10" size="4" name="TCC_FCTRLB" access="Read/Write" description="Recoverable Fault B Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SRC" description="Fault B Source">
+        <Enum name="DISABLE" start="0x0" description="Fault input disabled" />
+        <Enum name="ENABLE" start="0x1" description="MCEx (x=0,1) event input" />
+        <Enum name="INVERT" start="0x2" description="Inverted MCEx (x=0,1) event input" />
+        <Enum name="ALTFAULT" start="0x3" description="Alternate fault (A or B) state at the end of the previous period" />
+      </BitField>
+      <BitField start="3" size="1" name="KEEP" description="Fault B Keeper" />
+      <BitField start="4" size="1" name="QUAL" description="Fault B Qualification" />
+      <BitField start="5" size="2" name="BLANK" description="Fault B Blanking Mode">
+        <Enum name="START" start="0x0" description="Blanking applied from start of the ramp" />
+        <Enum name="RISE" start="0x1" description="Blanking applied from rising edge of the output waveform" />
+        <Enum name="FALL" start="0x2" description="Blanking applied from falling edge of the output waveform" />
+        <Enum name="BOTH" start="0x3" description="Blanking applied from each toggle of the output waveform" />
+      </BitField>
+      <BitField start="7" size="1" name="RESTART" description="Fault B Restart" />
+      <BitField start="8" size="2" name="HALT" description="Fault B Halt Mode">
+        <Enum name="DISABLE" start="0x0" description="Halt action disabled" />
+        <Enum name="HW" start="0x1" description="Hardware halt action" />
+        <Enum name="SW" start="0x2" description="Software halt action" />
+        <Enum name="NR" start="0x3" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="10" size="2" name="CHSEL" description="Fault B Capture Channel">
+        <Enum name="CC0" start="0x0" description="Capture value stored in channel 0" />
+        <Enum name="CC1" start="0x1" description="Capture value stored in channel 1" />
+        <Enum name="CC2" start="0x2" description="Capture value stored in channel 2" />
+        <Enum name="CC3" start="0x3" description="Capture value stored in channel 3" />
+      </BitField>
+      <BitField start="12" size="3" name="CAPTURE" description="Fault B Capture Action">
+        <Enum name="DISABLE" start="0x0" description="No capture" />
+        <Enum name="CAPT" start="0x1" description="Capture on fault" />
+        <Enum name="CAPTMIN" start="0x2" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x3" description="Maximum capture" />
+        <Enum name="LOCMIN" start="0x4" description="Minimum local detection" />
+        <Enum name="LOCMAX" start="0x5" description="Maximum local detection" />
+        <Enum name="DERIV0" start="0x6" description="Minimum and maximum local detection" />
+        <Enum name="CAPTMARK" start="0x7" description="Capture with ramp index as MSB value" />
+      </BitField>
+      <BitField start="15" size="1" name="BLANKPRESC" description="Fault B Blanking Prescaler" />
+      <BitField start="16" size="8" name="BLANKVAL" description="Fault B Blanking Time" />
+      <BitField start="24" size="4" name="FILTERVAL" description="Fault B Filter Value" />
+    </Register>
+    <Register start="+0x14" size="4" name="TCC_WEXCTRL" access="Read/Write" description="Waveform Extension Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="OTMX" description="Output Matrix" />
+      <BitField start="8" size="1" name="DTIEN0" description="Dead-time Insertion Generator 0 Enable" />
+      <BitField start="9" size="1" name="DTIEN1" description="Dead-time Insertion Generator 1 Enable" />
+      <BitField start="10" size="1" name="DTIEN2" description="Dead-time Insertion Generator 2 Enable" />
+      <BitField start="11" size="1" name="DTIEN3" description="Dead-time Insertion Generator 3 Enable" />
+      <BitField start="16" size="8" name="DTLS" description="Dead-time Low Side Outputs Value" />
+      <BitField start="24" size="8" name="DTHS" description="Dead-time High Side Outputs Value" />
+    </Register>
+    <Register start="+0x18" size="4" name="TCC_DRVCTRL" access="Read/Write" description="Driver Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="NRE0" description="Non-Recoverable State 0 Output Enable" />
+      <BitField start="1" size="1" name="NRE1" description="Non-Recoverable State 1 Output Enable" />
+      <BitField start="2" size="1" name="NRE2" description="Non-Recoverable State 2 Output Enable" />
+      <BitField start="3" size="1" name="NRE3" description="Non-Recoverable State 3 Output Enable" />
+      <BitField start="4" size="1" name="NRE4" description="Non-Recoverable State 4 Output Enable" />
+      <BitField start="5" size="1" name="NRE5" description="Non-Recoverable State 5 Output Enable" />
+      <BitField start="6" size="1" name="NRE6" description="Non-Recoverable State 6 Output Enable" />
+      <BitField start="7" size="1" name="NRE7" description="Non-Recoverable State 7 Output Enable" />
+      <BitField start="8" size="1" name="NRV0" description="Non-Recoverable State 0 Output Value" />
+      <BitField start="9" size="1" name="NRV1" description="Non-Recoverable State 1 Output Value" />
+      <BitField start="10" size="1" name="NRV2" description="Non-Recoverable State 2 Output Value" />
+      <BitField start="11" size="1" name="NRV3" description="Non-Recoverable State 3 Output Value" />
+      <BitField start="12" size="1" name="NRV4" description="Non-Recoverable State 4 Output Value" />
+      <BitField start="13" size="1" name="NRV5" description="Non-Recoverable State 5 Output Value" />
+      <BitField start="14" size="1" name="NRV6" description="Non-Recoverable State 6 Output Value" />
+      <BitField start="15" size="1" name="NRV7" description="Non-Recoverable State 7 Output Value" />
+      <BitField start="16" size="1" name="INVEN0" description="Output Waveform 0 Inversion" />
+      <BitField start="17" size="1" name="INVEN1" description="Output Waveform 1 Inversion" />
+      <BitField start="18" size="1" name="INVEN2" description="Output Waveform 2 Inversion" />
+      <BitField start="19" size="1" name="INVEN3" description="Output Waveform 3 Inversion" />
+      <BitField start="20" size="1" name="INVEN4" description="Output Waveform 4 Inversion" />
+      <BitField start="21" size="1" name="INVEN5" description="Output Waveform 5 Inversion" />
+      <BitField start="22" size="1" name="INVEN6" description="Output Waveform 6 Inversion" />
+      <BitField start="23" size="1" name="INVEN7" description="Output Waveform 7 Inversion" />
+      <BitField start="24" size="4" name="FILTERVAL0" description="Non-Recoverable Fault Input 0 Filter Value" />
+      <BitField start="28" size="4" name="FILTERVAL1" description="Non-Recoverable Fault Input 1 Filter Value" />
+    </Register>
+    <Register start="+0x1E" size="1" name="TCC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Running Mode" />
+      <BitField start="2" size="1" name="FDDBD" description="Fault Detection on Debug Break Detection" />
+    </Register>
+    <Register start="+0x20" size="4" name="TCC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT0" description="Timer/counter Input Event0 Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or re-trigger counter on event" />
+        <Enum name="COUNTEV" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start counter on event" />
+        <Enum name="INC" start="0x4" description="Increment counter on event" />
+        <Enum name="COUNT" start="0x5" description="Count on active state of asynchronous event" />
+        <Enum name="STAMP" start="0x6" description="Stamp capture" />
+        <Enum name="FAULT" start="0x7" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="3" size="3" name="EVACT1" description="Timer/counter Input Event1 Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Re-trigger counter on event" />
+        <Enum name="DIR" start="0x2" description="Direction control" />
+        <Enum name="STOP" start="0x3" description="Stop counter on event" />
+        <Enum name="DEC" start="0x4" description="Decrement counter on event" />
+        <Enum name="PPW" start="0x5" description="Period capture value in CC0 register, pulse width capture value in CC1 register" />
+        <Enum name="PWP" start="0x6" description="Period capture value in CC1 register, pulse width capture value in CC0 register" />
+        <Enum name="FAULT" start="0x7" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="6" size="2" name="CNTSEL" description="Timer/counter Output Event Mode">
+        <Enum name="START" start="0x0" description="An interrupt/event is generated when a new counter cycle starts" />
+        <Enum name="END" start="0x1" description="An interrupt/event is generated when a counter cycle ends" />
+        <Enum name="BETWEEN" start="0x2" description="An interrupt/event is generated when a counter cycle ends, except for the first and last cycles" />
+        <Enum name="BOUNDARY" start="0x3" description="An interrupt/event is generated when a new counter cycle starts or a counter cycle ends" />
+      </BitField>
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Output Event Enable" />
+      <BitField start="9" size="1" name="TRGEO" description="Retrigger Output Event Enable" />
+      <BitField start="10" size="1" name="CNTEO" description="Timer/counter Output Event Enable" />
+      <BitField start="12" size="1" name="TCINV0" description="Inverted Event 0 Input Enable" />
+      <BitField start="13" size="1" name="TCINV1" description="Inverted Event 1 Input Enable" />
+      <BitField start="14" size="1" name="TCEI0" description="Timer/counter Event 0 Input Enable" />
+      <BitField start="15" size="1" name="TCEI1" description="Timer/counter Event 1 Input Enable" />
+      <BitField start="16" size="1" name="MCEI0" description="Match or Capture Channel 0 Event Input Enable" />
+      <BitField start="17" size="1" name="MCEI1" description="Match or Capture Channel 1 Event Input Enable" />
+      <BitField start="18" size="1" name="MCEI2" description="Match or Capture Channel 2 Event Input Enable" />
+      <BitField start="19" size="1" name="MCEI3" description="Match or Capture Channel 3 Event Input Enable" />
+      <BitField start="20" size="1" name="MCEI4" description="Match or Capture Channel 4 Event Input Enable" />
+      <BitField start="21" size="1" name="MCEI5" description="Match or Capture Channel 5 Event Input Enable" />
+      <BitField start="24" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="25" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+      <BitField start="26" size="1" name="MCEO2" description="Match or Capture Channel 2 Event Output Enable" />
+      <BitField start="27" size="1" name="MCEO3" description="Match or Capture Channel 3 Event Output Enable" />
+      <BitField start="28" size="1" name="MCEO4" description="Match or Capture Channel 4 Event Output Enable" />
+      <BitField start="29" size="1" name="MCEO5" description="Match or Capture Channel 5 Event Output Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="TCC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger Interrupt Enable" />
+      <BitField start="2" size="1" name="CNT" description="Counter Interrupt Enable" />
+      <BitField start="3" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="10" size="1" name="UFS" description="Non-Recoverable Update Fault Interrupt Enable" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault Interrupt Enable" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A Interrupt Enable" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B Interrupt Enable" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 Interrupt Enable" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 Interrupt Enable" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture Channel 2 Interrupt Enable" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture Channel 3 Interrupt Enable" />
+      <BitField start="20" size="1" name="MC4" description="Match or Capture Channel 4 Interrupt Enable" />
+      <BitField start="21" size="1" name="MC5" description="Match or Capture Channel 5 Interrupt Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="TCC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger Interrupt Enable" />
+      <BitField start="2" size="1" name="CNT" description="Counter Interrupt Enable" />
+      <BitField start="3" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="10" size="1" name="UFS" description="Non-Recoverable Update Fault Interrupt Enable" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault Interrupt Enable" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A Interrupt Enable" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B Interrupt Enable" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 Interrupt Enable" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 Interrupt Enable" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture Channel 2 Interrupt Enable" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture Channel 3 Interrupt Enable" />
+      <BitField start="20" size="1" name="MC4" description="Match or Capture Channel 4 Interrupt Enable" />
+      <BitField start="21" size="1" name="MC5" description="Match or Capture Channel 5 Interrupt Enable" />
+    </Register>
+    <Register start="+0x2C" size="4" name="TCC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger" />
+      <BitField start="2" size="1" name="CNT" description="Counter" />
+      <BitField start="3" size="1" name="ERR" description="Error" />
+      <BitField start="10" size="1" name="UFS" description="Non-Recoverable Update Fault" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture 0" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture 1" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture 2" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture 3" />
+      <BitField start="20" size="1" name="MC4" description="Match or Capture 4" />
+      <BitField start="21" size="1" name="MC5" description="Match or Capture 5" />
+    </Register>
+    <Register start="+0x30" size="4" name="TCC_STATUS" access="Read/Write" description="Status" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop" />
+      <BitField start="1" size="1" name="IDX" description="Ramp" />
+      <BitField start="2" size="1" name="UFS" description="Non-recoverable Update Fault State" />
+      <BitField start="3" size="1" name="DFS" description="Non-Recoverable Debug Fault State" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="5" size="1" name="PATTBUFV" description="Pattern Buffer Valid" />
+      <BitField start="7" size="1" name="PERBUFV" description="Period Buffer Valid" />
+      <BitField start="8" size="1" name="FAULTAIN" description="Recoverable Fault A Input" />
+      <BitField start="9" size="1" name="FAULTBIN" description="Recoverable Fault B Input" />
+      <BitField start="10" size="1" name="FAULT0IN" description="Non-Recoverable Fault0 Input" />
+      <BitField start="11" size="1" name="FAULT1IN" description="Non-Recoverable Fault1 Input" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A State" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B State" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 State" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 State" />
+      <BitField start="16" size="1" name="CCBUFV0" description="Compare Channel 0 Buffer Valid" />
+      <BitField start="17" size="1" name="CCBUFV1" description="Compare Channel 1 Buffer Valid" />
+      <BitField start="18" size="1" name="CCBUFV2" description="Compare Channel 2 Buffer Valid" />
+      <BitField start="19" size="1" name="CCBUFV3" description="Compare Channel 3 Buffer Valid" />
+      <BitField start="20" size="1" name="CCBUFV4" description="Compare Channel 4 Buffer Valid" />
+      <BitField start="21" size="1" name="CCBUFV5" description="Compare Channel 5 Buffer Valid" />
+      <BitField start="24" size="1" name="CMP0" description="Compare Channel 0 Value" />
+      <BitField start="25" size="1" name="CMP1" description="Compare Channel 1 Value" />
+      <BitField start="26" size="1" name="CMP2" description="Compare Channel 2 Value" />
+      <BitField start="27" size="1" name="CMP3" description="Compare Channel 3 Value" />
+      <BitField start="28" size="1" name="CMP4" description="Compare Channel 4 Value" />
+      <BitField start="29" size="1" name="CMP5" description="Compare Channel 5 Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH4" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="4" size="20" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH5" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="5" size="19" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH6" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="6" size="18" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x38" size="2" name="TCC_PATT" access="Read/Write" description="Pattern" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PGE0" description="Pattern Generator 0 Output Enable" />
+      <BitField start="1" size="1" name="PGE1" description="Pattern Generator 1 Output Enable" />
+      <BitField start="2" size="1" name="PGE2" description="Pattern Generator 2 Output Enable" />
+      <BitField start="3" size="1" name="PGE3" description="Pattern Generator 3 Output Enable" />
+      <BitField start="4" size="1" name="PGE4" description="Pattern Generator 4 Output Enable" />
+      <BitField start="5" size="1" name="PGE5" description="Pattern Generator 5 Output Enable" />
+      <BitField start="6" size="1" name="PGE6" description="Pattern Generator 6 Output Enable" />
+      <BitField start="7" size="1" name="PGE7" description="Pattern Generator 7 Output Enable" />
+      <BitField start="8" size="1" name="PGV0" description="Pattern Generator 0 Output Value" />
+      <BitField start="9" size="1" name="PGV1" description="Pattern Generator 1 Output Value" />
+      <BitField start="10" size="1" name="PGV2" description="Pattern Generator 2 Output Value" />
+      <BitField start="11" size="1" name="PGV3" description="Pattern Generator 3 Output Value" />
+      <BitField start="12" size="1" name="PGV4" description="Pattern Generator 4 Output Value" />
+      <BitField start="13" size="1" name="PGV5" description="Pattern Generator 5 Output Value" />
+      <BitField start="14" size="1" name="PGV6" description="Pattern Generator 6 Output Value" />
+      <BitField start="15" size="1" name="PGV7" description="Pattern Generator 7 Output Value" />
+    </Register>
+    <Register start="+0x3C" size="4" name="TCC_WAVE" access="Read/Write" description="Waveform Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="WAVEGEN" description="Waveform Generation">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="DSCRITICAL" start="0x4" description="Dual-slope critical" />
+        <Enum name="DSBOTTOM" start="0x5" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO" />
+        <Enum name="DSBOTH" start="0x6" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP" />
+        <Enum name="DSTOP" start="0x7" description="Dual-slope with interrupt/event condition when COUNT reaches TOP" />
+      </BitField>
+      <BitField start="4" size="2" name="RAMP" description="Ramp Mode">
+        <Enum name="RAMP1" start="0x0" description="RAMP1 operation" />
+        <Enum name="RAMP2A" start="0x1" description="Alternative RAMP2 operation" />
+        <Enum name="RAMP2" start="0x2" description="RAMP2 operation" />
+        <Enum name="RAMP2C" start="0x3" description="Critical RAMP2 operation" />
+      </BitField>
+      <BitField start="7" size="1" name="CIPEREN" description="Circular period Enable" />
+      <BitField start="8" size="1" name="CICCEN0" description="Circular Channel 0 Enable" />
+      <BitField start="9" size="1" name="CICCEN1" description="Circular Channel 1 Enable" />
+      <BitField start="10" size="1" name="CICCEN2" description="Circular Channel 2 Enable" />
+      <BitField start="11" size="1" name="CICCEN3" description="Circular Channel 3 Enable" />
+      <BitField start="16" size="1" name="POL0" description="Channel 0 Polarity" />
+      <BitField start="17" size="1" name="POL1" description="Channel 1 Polarity" />
+      <BitField start="18" size="1" name="POL2" description="Channel 2 Polarity" />
+      <BitField start="19" size="1" name="POL3" description="Channel 3 Polarity" />
+      <BitField start="20" size="1" name="POL4" description="Channel 4 Polarity" />
+      <BitField start="21" size="1" name="POL5" description="Channel 5 Polarity" />
+      <BitField start="24" size="1" name="SWAP0" description="Swap DTI Output Pair 0" />
+      <BitField start="25" size="1" name="SWAP1" description="Swap DTI Output Pair 1" />
+      <BitField start="26" size="1" name="SWAP2" description="Swap DTI Output Pair 2" />
+      <BitField start="27" size="1" name="SWAP3" description="Swap DTI Output Pair 3" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH4" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH5" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH6" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x64" size="2" name="TCC_PATTBUF" access="Read/Write" description="Pattern Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PGEB0" description="Pattern Generator 0 Output Enable Buffer" />
+      <BitField start="1" size="1" name="PGEB1" description="Pattern Generator 1 Output Enable Buffer" />
+      <BitField start="2" size="1" name="PGEB2" description="Pattern Generator 2 Output Enable Buffer" />
+      <BitField start="3" size="1" name="PGEB3" description="Pattern Generator 3 Output Enable Buffer" />
+      <BitField start="4" size="1" name="PGEB4" description="Pattern Generator 4 Output Enable Buffer" />
+      <BitField start="5" size="1" name="PGEB5" description="Pattern Generator 5 Output Enable Buffer" />
+      <BitField start="6" size="1" name="PGEB6" description="Pattern Generator 6 Output Enable Buffer" />
+      <BitField start="7" size="1" name="PGEB7" description="Pattern Generator 7 Output Enable Buffer" />
+      <BitField start="8" size="1" name="PGVB0" description="Pattern Generator 0 Output Enable" />
+      <BitField start="9" size="1" name="PGVB1" description="Pattern Generator 1 Output Enable" />
+      <BitField start="10" size="1" name="PGVB2" description="Pattern Generator 2 Output Enable" />
+      <BitField start="11" size="1" name="PGVB3" description="Pattern Generator 3 Output Enable" />
+      <BitField start="12" size="1" name="PGVB4" description="Pattern Generator 4 Output Enable" />
+      <BitField start="13" size="1" name="PGVB5" description="Pattern Generator 5 Output Enable" />
+      <BitField start="14" size="1" name="PGVB6" description="Pattern Generator 6 Output Enable" />
+      <BitField start="15" size="1" name="PGVB7" description="Pattern Generator 7 Output Enable" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF_DITH4" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF_DITH5" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF_DITH6" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TCC1" start="0x41018000" description="Timer Counter Control 1">
+    <Register start="+0x00" size="4" name="TCC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="5" size="2" name="RESOLUTION" description="Enhanced Resolution">
+        <Enum name="NONE" start="0x0" description="Dithering is disabled" />
+        <Enum name="DITH4" start="0x1" description="Dithering is done every 16 PWM frames" />
+        <Enum name="DITH5" start="0x2" description="Dithering is done every 32 PWM frames" />
+        <Enum name="DITH6" start="0x3" description="Dithering is done every 64 PWM frames" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="No division" />
+        <Enum name="DIV2" start="0x1" description="Divide by 2" />
+        <Enum name="DIV4" start="0x2" description="Divide by 4" />
+        <Enum name="DIV8" start="0x3" description="Divide by 8" />
+        <Enum name="DIV16" start="0x4" description="Divide by 16" />
+        <Enum name="DIV64" start="0x5" description="Divide by 64" />
+        <Enum name="DIV256" start="0x6" description="Divide by 256" />
+        <Enum name="DIV1024" start="0x7" description="Divide by 1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization Selection">
+        <Enum name="GCLK" start="0x0" description="Reload or reset counter on next GCLK" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset counter on next GCLK and reset prescaler counter" />
+      </BitField>
+      <BitField start="14" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="15" size="1" name="MSYNC" description="Master Synchronization (only for TCC Slave Instance)" />
+      <BitField start="23" size="1" name="DMAOS" description="DMA One-shot Trigger Mode" />
+      <BitField start="24" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="25" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="26" size="1" name="CPTEN2" description="Capture Channel 2 Enable" />
+      <BitField start="27" size="1" name="CPTEN3" description="Capture Channel 3 Enable" />
+      <BitField start="28" size="1" name="CPTEN4" description="Capture Channel 4 Enable" />
+      <BitField start="29" size="1" name="CPTEN5" description="Capture Channel 5 Enable" />
+    </Register>
+    <Register start="+0x04" size="1" name="TCC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="3" size="2" name="IDXCMD" description="Ramp Index Command">
+        <Enum name="DISABLE" start="0x0" description="Command disabled: Index toggles between cycles A and B" />
+        <Enum name="SET" start="0x1" description="Set index: cycle B will be forced in the next cycle" />
+        <Enum name="CLEAR" start="0x2" description="Clear index: cycle A will be forced in the next cycle" />
+        <Enum name="HOLD" start="0x3" description="Hold index: the next cycle will be the same as the current cycle" />
+      </BitField>
+      <BitField start="5" size="3" name="CMD" description="TCC Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Clear start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update or double buffered registers" />
+        <Enum name="READSYNC" start="0x4" description="Force COUNT read synchronization" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TCC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="3" size="2" name="IDXCMD" description="Ramp Index Command">
+        <Enum name="DISABLE" start="0x0" description="Command disabled: Index toggles between cycles A and B" />
+        <Enum name="SET" start="0x1" description="Set index: cycle B will be forced in the next cycle" />
+        <Enum name="CLEAR" start="0x2" description="Clear index: cycle A will be forced in the next cycle" />
+        <Enum name="HOLD" start="0x3" description="Hold index: the next cycle will be the same as the current cycle" />
+      </BitField>
+      <BitField start="5" size="3" name="CMD" description="TCC Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Clear start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update or double buffered registers" />
+        <Enum name="READSYNC" start="0x4" description="Force COUNT read synchronization" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x08" size="4" name="TCC_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Swrst Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="Ctrlb Busy" />
+      <BitField start="3" size="1" name="STATUS" description="Status Busy" />
+      <BitField start="4" size="1" name="COUNT" description="Count Busy" />
+      <BitField start="5" size="1" name="PATT" description="Pattern Busy" />
+      <BitField start="6" size="1" name="WAVE" description="Wave Busy" />
+      <BitField start="7" size="1" name="PER" description="Period Busy" />
+      <BitField start="8" size="1" name="CC0" description="Compare Channel 0 Busy" />
+      <BitField start="9" size="1" name="CC1" description="Compare Channel 1 Busy" />
+      <BitField start="10" size="1" name="CC2" description="Compare Channel 2 Busy" />
+      <BitField start="11" size="1" name="CC3" description="Compare Channel 3 Busy" />
+      <BitField start="12" size="1" name="CC4" description="Compare Channel 4 Busy" />
+      <BitField start="13" size="1" name="CC5" description="Compare Channel 5 Busy" />
+    </Register>
+    <Register start="+0x0C" size="4" name="TCC_FCTRLA" access="Read/Write" description="Recoverable Fault A Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SRC" description="Fault A Source">
+        <Enum name="DISABLE" start="0x0" description="Fault input disabled" />
+        <Enum name="ENABLE" start="0x1" description="MCEx (x=0,1) event input" />
+        <Enum name="INVERT" start="0x2" description="Inverted MCEx (x=0,1) event input" />
+        <Enum name="ALTFAULT" start="0x3" description="Alternate fault (A or B) state at the end of the previous period" />
+      </BitField>
+      <BitField start="3" size="1" name="KEEP" description="Fault A Keeper" />
+      <BitField start="4" size="1" name="QUAL" description="Fault A Qualification" />
+      <BitField start="5" size="2" name="BLANK" description="Fault A Blanking Mode">
+        <Enum name="START" start="0x0" description="Blanking applied from start of the ramp" />
+        <Enum name="RISE" start="0x1" description="Blanking applied from rising edge of the output waveform" />
+        <Enum name="FALL" start="0x2" description="Blanking applied from falling edge of the output waveform" />
+        <Enum name="BOTH" start="0x3" description="Blanking applied from each toggle of the output waveform" />
+      </BitField>
+      <BitField start="7" size="1" name="RESTART" description="Fault A Restart" />
+      <BitField start="8" size="2" name="HALT" description="Fault A Halt Mode">
+        <Enum name="DISABLE" start="0x0" description="Halt action disabled" />
+        <Enum name="HW" start="0x1" description="Hardware halt action" />
+        <Enum name="SW" start="0x2" description="Software halt action" />
+        <Enum name="NR" start="0x3" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="10" size="2" name="CHSEL" description="Fault A Capture Channel">
+        <Enum name="CC0" start="0x0" description="Capture value stored in channel 0" />
+        <Enum name="CC1" start="0x1" description="Capture value stored in channel 1" />
+        <Enum name="CC2" start="0x2" description="Capture value stored in channel 2" />
+        <Enum name="CC3" start="0x3" description="Capture value stored in channel 3" />
+      </BitField>
+      <BitField start="12" size="3" name="CAPTURE" description="Fault A Capture Action">
+        <Enum name="DISABLE" start="0x0" description="No capture" />
+        <Enum name="CAPT" start="0x1" description="Capture on fault" />
+        <Enum name="CAPTMIN" start="0x2" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x3" description="Maximum capture" />
+        <Enum name="LOCMIN" start="0x4" description="Minimum local detection" />
+        <Enum name="LOCMAX" start="0x5" description="Maximum local detection" />
+        <Enum name="DERIV0" start="0x6" description="Minimum and maximum local detection" />
+        <Enum name="CAPTMARK" start="0x7" description="Capture with ramp index as MSB value" />
+      </BitField>
+      <BitField start="15" size="1" name="BLANKPRESC" description="Fault A Blanking Prescaler" />
+      <BitField start="16" size="8" name="BLANKVAL" description="Fault A Blanking Time" />
+      <BitField start="24" size="4" name="FILTERVAL" description="Fault A Filter Value" />
+    </Register>
+    <Register start="+0x10" size="4" name="TCC_FCTRLB" access="Read/Write" description="Recoverable Fault B Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SRC" description="Fault B Source">
+        <Enum name="DISABLE" start="0x0" description="Fault input disabled" />
+        <Enum name="ENABLE" start="0x1" description="MCEx (x=0,1) event input" />
+        <Enum name="INVERT" start="0x2" description="Inverted MCEx (x=0,1) event input" />
+        <Enum name="ALTFAULT" start="0x3" description="Alternate fault (A or B) state at the end of the previous period" />
+      </BitField>
+      <BitField start="3" size="1" name="KEEP" description="Fault B Keeper" />
+      <BitField start="4" size="1" name="QUAL" description="Fault B Qualification" />
+      <BitField start="5" size="2" name="BLANK" description="Fault B Blanking Mode">
+        <Enum name="START" start="0x0" description="Blanking applied from start of the ramp" />
+        <Enum name="RISE" start="0x1" description="Blanking applied from rising edge of the output waveform" />
+        <Enum name="FALL" start="0x2" description="Blanking applied from falling edge of the output waveform" />
+        <Enum name="BOTH" start="0x3" description="Blanking applied from each toggle of the output waveform" />
+      </BitField>
+      <BitField start="7" size="1" name="RESTART" description="Fault B Restart" />
+      <BitField start="8" size="2" name="HALT" description="Fault B Halt Mode">
+        <Enum name="DISABLE" start="0x0" description="Halt action disabled" />
+        <Enum name="HW" start="0x1" description="Hardware halt action" />
+        <Enum name="SW" start="0x2" description="Software halt action" />
+        <Enum name="NR" start="0x3" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="10" size="2" name="CHSEL" description="Fault B Capture Channel">
+        <Enum name="CC0" start="0x0" description="Capture value stored in channel 0" />
+        <Enum name="CC1" start="0x1" description="Capture value stored in channel 1" />
+        <Enum name="CC2" start="0x2" description="Capture value stored in channel 2" />
+        <Enum name="CC3" start="0x3" description="Capture value stored in channel 3" />
+      </BitField>
+      <BitField start="12" size="3" name="CAPTURE" description="Fault B Capture Action">
+        <Enum name="DISABLE" start="0x0" description="No capture" />
+        <Enum name="CAPT" start="0x1" description="Capture on fault" />
+        <Enum name="CAPTMIN" start="0x2" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x3" description="Maximum capture" />
+        <Enum name="LOCMIN" start="0x4" description="Minimum local detection" />
+        <Enum name="LOCMAX" start="0x5" description="Maximum local detection" />
+        <Enum name="DERIV0" start="0x6" description="Minimum and maximum local detection" />
+        <Enum name="CAPTMARK" start="0x7" description="Capture with ramp index as MSB value" />
+      </BitField>
+      <BitField start="15" size="1" name="BLANKPRESC" description="Fault B Blanking Prescaler" />
+      <BitField start="16" size="8" name="BLANKVAL" description="Fault B Blanking Time" />
+      <BitField start="24" size="4" name="FILTERVAL" description="Fault B Filter Value" />
+    </Register>
+    <Register start="+0x14" size="4" name="TCC_WEXCTRL" access="Read/Write" description="Waveform Extension Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="OTMX" description="Output Matrix" />
+      <BitField start="8" size="1" name="DTIEN0" description="Dead-time Insertion Generator 0 Enable" />
+      <BitField start="9" size="1" name="DTIEN1" description="Dead-time Insertion Generator 1 Enable" />
+      <BitField start="10" size="1" name="DTIEN2" description="Dead-time Insertion Generator 2 Enable" />
+      <BitField start="11" size="1" name="DTIEN3" description="Dead-time Insertion Generator 3 Enable" />
+      <BitField start="16" size="8" name="DTLS" description="Dead-time Low Side Outputs Value" />
+      <BitField start="24" size="8" name="DTHS" description="Dead-time High Side Outputs Value" />
+    </Register>
+    <Register start="+0x18" size="4" name="TCC_DRVCTRL" access="Read/Write" description="Driver Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="NRE0" description="Non-Recoverable State 0 Output Enable" />
+      <BitField start="1" size="1" name="NRE1" description="Non-Recoverable State 1 Output Enable" />
+      <BitField start="2" size="1" name="NRE2" description="Non-Recoverable State 2 Output Enable" />
+      <BitField start="3" size="1" name="NRE3" description="Non-Recoverable State 3 Output Enable" />
+      <BitField start="4" size="1" name="NRE4" description="Non-Recoverable State 4 Output Enable" />
+      <BitField start="5" size="1" name="NRE5" description="Non-Recoverable State 5 Output Enable" />
+      <BitField start="6" size="1" name="NRE6" description="Non-Recoverable State 6 Output Enable" />
+      <BitField start="7" size="1" name="NRE7" description="Non-Recoverable State 7 Output Enable" />
+      <BitField start="8" size="1" name="NRV0" description="Non-Recoverable State 0 Output Value" />
+      <BitField start="9" size="1" name="NRV1" description="Non-Recoverable State 1 Output Value" />
+      <BitField start="10" size="1" name="NRV2" description="Non-Recoverable State 2 Output Value" />
+      <BitField start="11" size="1" name="NRV3" description="Non-Recoverable State 3 Output Value" />
+      <BitField start="12" size="1" name="NRV4" description="Non-Recoverable State 4 Output Value" />
+      <BitField start="13" size="1" name="NRV5" description="Non-Recoverable State 5 Output Value" />
+      <BitField start="14" size="1" name="NRV6" description="Non-Recoverable State 6 Output Value" />
+      <BitField start="15" size="1" name="NRV7" description="Non-Recoverable State 7 Output Value" />
+      <BitField start="16" size="1" name="INVEN0" description="Output Waveform 0 Inversion" />
+      <BitField start="17" size="1" name="INVEN1" description="Output Waveform 1 Inversion" />
+      <BitField start="18" size="1" name="INVEN2" description="Output Waveform 2 Inversion" />
+      <BitField start="19" size="1" name="INVEN3" description="Output Waveform 3 Inversion" />
+      <BitField start="20" size="1" name="INVEN4" description="Output Waveform 4 Inversion" />
+      <BitField start="21" size="1" name="INVEN5" description="Output Waveform 5 Inversion" />
+      <BitField start="22" size="1" name="INVEN6" description="Output Waveform 6 Inversion" />
+      <BitField start="23" size="1" name="INVEN7" description="Output Waveform 7 Inversion" />
+      <BitField start="24" size="4" name="FILTERVAL0" description="Non-Recoverable Fault Input 0 Filter Value" />
+      <BitField start="28" size="4" name="FILTERVAL1" description="Non-Recoverable Fault Input 1 Filter Value" />
+    </Register>
+    <Register start="+0x1E" size="1" name="TCC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Running Mode" />
+      <BitField start="2" size="1" name="FDDBD" description="Fault Detection on Debug Break Detection" />
+    </Register>
+    <Register start="+0x20" size="4" name="TCC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT0" description="Timer/counter Input Event0 Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or re-trigger counter on event" />
+        <Enum name="COUNTEV" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start counter on event" />
+        <Enum name="INC" start="0x4" description="Increment counter on event" />
+        <Enum name="COUNT" start="0x5" description="Count on active state of asynchronous event" />
+        <Enum name="STAMP" start="0x6" description="Stamp capture" />
+        <Enum name="FAULT" start="0x7" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="3" size="3" name="EVACT1" description="Timer/counter Input Event1 Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Re-trigger counter on event" />
+        <Enum name="DIR" start="0x2" description="Direction control" />
+        <Enum name="STOP" start="0x3" description="Stop counter on event" />
+        <Enum name="DEC" start="0x4" description="Decrement counter on event" />
+        <Enum name="PPW" start="0x5" description="Period capture value in CC0 register, pulse width capture value in CC1 register" />
+        <Enum name="PWP" start="0x6" description="Period capture value in CC1 register, pulse width capture value in CC0 register" />
+        <Enum name="FAULT" start="0x7" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="6" size="2" name="CNTSEL" description="Timer/counter Output Event Mode">
+        <Enum name="START" start="0x0" description="An interrupt/event is generated when a new counter cycle starts" />
+        <Enum name="END" start="0x1" description="An interrupt/event is generated when a counter cycle ends" />
+        <Enum name="BETWEEN" start="0x2" description="An interrupt/event is generated when a counter cycle ends, except for the first and last cycles" />
+        <Enum name="BOUNDARY" start="0x3" description="An interrupt/event is generated when a new counter cycle starts or a counter cycle ends" />
+      </BitField>
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Output Event Enable" />
+      <BitField start="9" size="1" name="TRGEO" description="Retrigger Output Event Enable" />
+      <BitField start="10" size="1" name="CNTEO" description="Timer/counter Output Event Enable" />
+      <BitField start="12" size="1" name="TCINV0" description="Inverted Event 0 Input Enable" />
+      <BitField start="13" size="1" name="TCINV1" description="Inverted Event 1 Input Enable" />
+      <BitField start="14" size="1" name="TCEI0" description="Timer/counter Event 0 Input Enable" />
+      <BitField start="15" size="1" name="TCEI1" description="Timer/counter Event 1 Input Enable" />
+      <BitField start="16" size="1" name="MCEI0" description="Match or Capture Channel 0 Event Input Enable" />
+      <BitField start="17" size="1" name="MCEI1" description="Match or Capture Channel 1 Event Input Enable" />
+      <BitField start="18" size="1" name="MCEI2" description="Match or Capture Channel 2 Event Input Enable" />
+      <BitField start="19" size="1" name="MCEI3" description="Match or Capture Channel 3 Event Input Enable" />
+      <BitField start="20" size="1" name="MCEI4" description="Match or Capture Channel 4 Event Input Enable" />
+      <BitField start="21" size="1" name="MCEI5" description="Match or Capture Channel 5 Event Input Enable" />
+      <BitField start="24" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="25" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+      <BitField start="26" size="1" name="MCEO2" description="Match or Capture Channel 2 Event Output Enable" />
+      <BitField start="27" size="1" name="MCEO3" description="Match or Capture Channel 3 Event Output Enable" />
+      <BitField start="28" size="1" name="MCEO4" description="Match or Capture Channel 4 Event Output Enable" />
+      <BitField start="29" size="1" name="MCEO5" description="Match or Capture Channel 5 Event Output Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="TCC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger Interrupt Enable" />
+      <BitField start="2" size="1" name="CNT" description="Counter Interrupt Enable" />
+      <BitField start="3" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="10" size="1" name="UFS" description="Non-Recoverable Update Fault Interrupt Enable" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault Interrupt Enable" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A Interrupt Enable" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B Interrupt Enable" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 Interrupt Enable" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 Interrupt Enable" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture Channel 2 Interrupt Enable" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture Channel 3 Interrupt Enable" />
+      <BitField start="20" size="1" name="MC4" description="Match or Capture Channel 4 Interrupt Enable" />
+      <BitField start="21" size="1" name="MC5" description="Match or Capture Channel 5 Interrupt Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="TCC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger Interrupt Enable" />
+      <BitField start="2" size="1" name="CNT" description="Counter Interrupt Enable" />
+      <BitField start="3" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="10" size="1" name="UFS" description="Non-Recoverable Update Fault Interrupt Enable" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault Interrupt Enable" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A Interrupt Enable" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B Interrupt Enable" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 Interrupt Enable" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 Interrupt Enable" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture Channel 2 Interrupt Enable" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture Channel 3 Interrupt Enable" />
+      <BitField start="20" size="1" name="MC4" description="Match or Capture Channel 4 Interrupt Enable" />
+      <BitField start="21" size="1" name="MC5" description="Match or Capture Channel 5 Interrupt Enable" />
+    </Register>
+    <Register start="+0x2C" size="4" name="TCC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger" />
+      <BitField start="2" size="1" name="CNT" description="Counter" />
+      <BitField start="3" size="1" name="ERR" description="Error" />
+      <BitField start="10" size="1" name="UFS" description="Non-Recoverable Update Fault" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture 0" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture 1" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture 2" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture 3" />
+      <BitField start="20" size="1" name="MC4" description="Match or Capture 4" />
+      <BitField start="21" size="1" name="MC5" description="Match or Capture 5" />
+    </Register>
+    <Register start="+0x30" size="4" name="TCC_STATUS" access="Read/Write" description="Status" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop" />
+      <BitField start="1" size="1" name="IDX" description="Ramp" />
+      <BitField start="2" size="1" name="UFS" description="Non-recoverable Update Fault State" />
+      <BitField start="3" size="1" name="DFS" description="Non-Recoverable Debug Fault State" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="5" size="1" name="PATTBUFV" description="Pattern Buffer Valid" />
+      <BitField start="7" size="1" name="PERBUFV" description="Period Buffer Valid" />
+      <BitField start="8" size="1" name="FAULTAIN" description="Recoverable Fault A Input" />
+      <BitField start="9" size="1" name="FAULTBIN" description="Recoverable Fault B Input" />
+      <BitField start="10" size="1" name="FAULT0IN" description="Non-Recoverable Fault0 Input" />
+      <BitField start="11" size="1" name="FAULT1IN" description="Non-Recoverable Fault1 Input" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A State" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B State" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 State" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 State" />
+      <BitField start="16" size="1" name="CCBUFV0" description="Compare Channel 0 Buffer Valid" />
+      <BitField start="17" size="1" name="CCBUFV1" description="Compare Channel 1 Buffer Valid" />
+      <BitField start="18" size="1" name="CCBUFV2" description="Compare Channel 2 Buffer Valid" />
+      <BitField start="19" size="1" name="CCBUFV3" description="Compare Channel 3 Buffer Valid" />
+      <BitField start="20" size="1" name="CCBUFV4" description="Compare Channel 4 Buffer Valid" />
+      <BitField start="21" size="1" name="CCBUFV5" description="Compare Channel 5 Buffer Valid" />
+      <BitField start="24" size="1" name="CMP0" description="Compare Channel 0 Value" />
+      <BitField start="25" size="1" name="CMP1" description="Compare Channel 1 Value" />
+      <BitField start="26" size="1" name="CMP2" description="Compare Channel 2 Value" />
+      <BitField start="27" size="1" name="CMP3" description="Compare Channel 3 Value" />
+      <BitField start="28" size="1" name="CMP4" description="Compare Channel 4 Value" />
+      <BitField start="29" size="1" name="CMP5" description="Compare Channel 5 Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH4" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="4" size="20" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH5" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="5" size="19" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH6" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="6" size="18" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x38" size="2" name="TCC_PATT" access="Read/Write" description="Pattern" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PGE0" description="Pattern Generator 0 Output Enable" />
+      <BitField start="1" size="1" name="PGE1" description="Pattern Generator 1 Output Enable" />
+      <BitField start="2" size="1" name="PGE2" description="Pattern Generator 2 Output Enable" />
+      <BitField start="3" size="1" name="PGE3" description="Pattern Generator 3 Output Enable" />
+      <BitField start="4" size="1" name="PGE4" description="Pattern Generator 4 Output Enable" />
+      <BitField start="5" size="1" name="PGE5" description="Pattern Generator 5 Output Enable" />
+      <BitField start="6" size="1" name="PGE6" description="Pattern Generator 6 Output Enable" />
+      <BitField start="7" size="1" name="PGE7" description="Pattern Generator 7 Output Enable" />
+      <BitField start="8" size="1" name="PGV0" description="Pattern Generator 0 Output Value" />
+      <BitField start="9" size="1" name="PGV1" description="Pattern Generator 1 Output Value" />
+      <BitField start="10" size="1" name="PGV2" description="Pattern Generator 2 Output Value" />
+      <BitField start="11" size="1" name="PGV3" description="Pattern Generator 3 Output Value" />
+      <BitField start="12" size="1" name="PGV4" description="Pattern Generator 4 Output Value" />
+      <BitField start="13" size="1" name="PGV5" description="Pattern Generator 5 Output Value" />
+      <BitField start="14" size="1" name="PGV6" description="Pattern Generator 6 Output Value" />
+      <BitField start="15" size="1" name="PGV7" description="Pattern Generator 7 Output Value" />
+    </Register>
+    <Register start="+0x3C" size="4" name="TCC_WAVE" access="Read/Write" description="Waveform Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="WAVEGEN" description="Waveform Generation">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="DSCRITICAL" start="0x4" description="Dual-slope critical" />
+        <Enum name="DSBOTTOM" start="0x5" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO" />
+        <Enum name="DSBOTH" start="0x6" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP" />
+        <Enum name="DSTOP" start="0x7" description="Dual-slope with interrupt/event condition when COUNT reaches TOP" />
+      </BitField>
+      <BitField start="4" size="2" name="RAMP" description="Ramp Mode">
+        <Enum name="RAMP1" start="0x0" description="RAMP1 operation" />
+        <Enum name="RAMP2A" start="0x1" description="Alternative RAMP2 operation" />
+        <Enum name="RAMP2" start="0x2" description="RAMP2 operation" />
+        <Enum name="RAMP2C" start="0x3" description="Critical RAMP2 operation" />
+      </BitField>
+      <BitField start="7" size="1" name="CIPEREN" description="Circular period Enable" />
+      <BitField start="8" size="1" name="CICCEN0" description="Circular Channel 0 Enable" />
+      <BitField start="9" size="1" name="CICCEN1" description="Circular Channel 1 Enable" />
+      <BitField start="10" size="1" name="CICCEN2" description="Circular Channel 2 Enable" />
+      <BitField start="11" size="1" name="CICCEN3" description="Circular Channel 3 Enable" />
+      <BitField start="16" size="1" name="POL0" description="Channel 0 Polarity" />
+      <BitField start="17" size="1" name="POL1" description="Channel 1 Polarity" />
+      <BitField start="18" size="1" name="POL2" description="Channel 2 Polarity" />
+      <BitField start="19" size="1" name="POL3" description="Channel 3 Polarity" />
+      <BitField start="20" size="1" name="POL4" description="Channel 4 Polarity" />
+      <BitField start="21" size="1" name="POL5" description="Channel 5 Polarity" />
+      <BitField start="24" size="1" name="SWAP0" description="Swap DTI Output Pair 0" />
+      <BitField start="25" size="1" name="SWAP1" description="Swap DTI Output Pair 1" />
+      <BitField start="26" size="1" name="SWAP2" description="Swap DTI Output Pair 2" />
+      <BitField start="27" size="1" name="SWAP3" description="Swap DTI Output Pair 3" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH4" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH5" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH6" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x64" size="2" name="TCC_PATTBUF" access="Read/Write" description="Pattern Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PGEB0" description="Pattern Generator 0 Output Enable Buffer" />
+      <BitField start="1" size="1" name="PGEB1" description="Pattern Generator 1 Output Enable Buffer" />
+      <BitField start="2" size="1" name="PGEB2" description="Pattern Generator 2 Output Enable Buffer" />
+      <BitField start="3" size="1" name="PGEB3" description="Pattern Generator 3 Output Enable Buffer" />
+      <BitField start="4" size="1" name="PGEB4" description="Pattern Generator 4 Output Enable Buffer" />
+      <BitField start="5" size="1" name="PGEB5" description="Pattern Generator 5 Output Enable Buffer" />
+      <BitField start="6" size="1" name="PGEB6" description="Pattern Generator 6 Output Enable Buffer" />
+      <BitField start="7" size="1" name="PGEB7" description="Pattern Generator 7 Output Enable Buffer" />
+      <BitField start="8" size="1" name="PGVB0" description="Pattern Generator 0 Output Enable" />
+      <BitField start="9" size="1" name="PGVB1" description="Pattern Generator 1 Output Enable" />
+      <BitField start="10" size="1" name="PGVB2" description="Pattern Generator 2 Output Enable" />
+      <BitField start="11" size="1" name="PGVB3" description="Pattern Generator 3 Output Enable" />
+      <BitField start="12" size="1" name="PGVB4" description="Pattern Generator 4 Output Enable" />
+      <BitField start="13" size="1" name="PGVB5" description="Pattern Generator 5 Output Enable" />
+      <BitField start="14" size="1" name="PGVB6" description="Pattern Generator 6 Output Enable" />
+      <BitField start="15" size="1" name="PGVB7" description="Pattern Generator 7 Output Enable" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF_DITH4" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF_DITH5" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF_DITH6" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TCC2" start="0x42000C00" description="Timer Counter Control 2">
+    <Register start="+0x00" size="4" name="TCC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="5" size="2" name="RESOLUTION" description="Enhanced Resolution">
+        <Enum name="NONE" start="0x0" description="Dithering is disabled" />
+        <Enum name="DITH4" start="0x1" description="Dithering is done every 16 PWM frames" />
+        <Enum name="DITH5" start="0x2" description="Dithering is done every 32 PWM frames" />
+        <Enum name="DITH6" start="0x3" description="Dithering is done every 64 PWM frames" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="No division" />
+        <Enum name="DIV2" start="0x1" description="Divide by 2" />
+        <Enum name="DIV4" start="0x2" description="Divide by 4" />
+        <Enum name="DIV8" start="0x3" description="Divide by 8" />
+        <Enum name="DIV16" start="0x4" description="Divide by 16" />
+        <Enum name="DIV64" start="0x5" description="Divide by 64" />
+        <Enum name="DIV256" start="0x6" description="Divide by 256" />
+        <Enum name="DIV1024" start="0x7" description="Divide by 1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization Selection">
+        <Enum name="GCLK" start="0x0" description="Reload or reset counter on next GCLK" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset counter on next GCLK and reset prescaler counter" />
+      </BitField>
+      <BitField start="14" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="15" size="1" name="MSYNC" description="Master Synchronization (only for TCC Slave Instance)" />
+      <BitField start="23" size="1" name="DMAOS" description="DMA One-shot Trigger Mode" />
+      <BitField start="24" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="25" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="26" size="1" name="CPTEN2" description="Capture Channel 2 Enable" />
+      <BitField start="27" size="1" name="CPTEN3" description="Capture Channel 3 Enable" />
+      <BitField start="28" size="1" name="CPTEN4" description="Capture Channel 4 Enable" />
+      <BitField start="29" size="1" name="CPTEN5" description="Capture Channel 5 Enable" />
+    </Register>
+    <Register start="+0x04" size="1" name="TCC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="3" size="2" name="IDXCMD" description="Ramp Index Command">
+        <Enum name="DISABLE" start="0x0" description="Command disabled: Index toggles between cycles A and B" />
+        <Enum name="SET" start="0x1" description="Set index: cycle B will be forced in the next cycle" />
+        <Enum name="CLEAR" start="0x2" description="Clear index: cycle A will be forced in the next cycle" />
+        <Enum name="HOLD" start="0x3" description="Hold index: the next cycle will be the same as the current cycle" />
+      </BitField>
+      <BitField start="5" size="3" name="CMD" description="TCC Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Clear start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update or double buffered registers" />
+        <Enum name="READSYNC" start="0x4" description="Force COUNT read synchronization" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TCC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="3" size="2" name="IDXCMD" description="Ramp Index Command">
+        <Enum name="DISABLE" start="0x0" description="Command disabled: Index toggles between cycles A and B" />
+        <Enum name="SET" start="0x1" description="Set index: cycle B will be forced in the next cycle" />
+        <Enum name="CLEAR" start="0x2" description="Clear index: cycle A will be forced in the next cycle" />
+        <Enum name="HOLD" start="0x3" description="Hold index: the next cycle will be the same as the current cycle" />
+      </BitField>
+      <BitField start="5" size="3" name="CMD" description="TCC Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Clear start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update or double buffered registers" />
+        <Enum name="READSYNC" start="0x4" description="Force COUNT read synchronization" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x08" size="4" name="TCC_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Swrst Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="Ctrlb Busy" />
+      <BitField start="3" size="1" name="STATUS" description="Status Busy" />
+      <BitField start="4" size="1" name="COUNT" description="Count Busy" />
+      <BitField start="5" size="1" name="PATT" description="Pattern Busy" />
+      <BitField start="6" size="1" name="WAVE" description="Wave Busy" />
+      <BitField start="7" size="1" name="PER" description="Period Busy" />
+      <BitField start="8" size="1" name="CC0" description="Compare Channel 0 Busy" />
+      <BitField start="9" size="1" name="CC1" description="Compare Channel 1 Busy" />
+      <BitField start="10" size="1" name="CC2" description="Compare Channel 2 Busy" />
+      <BitField start="11" size="1" name="CC3" description="Compare Channel 3 Busy" />
+      <BitField start="12" size="1" name="CC4" description="Compare Channel 4 Busy" />
+      <BitField start="13" size="1" name="CC5" description="Compare Channel 5 Busy" />
+    </Register>
+    <Register start="+0x0C" size="4" name="TCC_FCTRLA" access="Read/Write" description="Recoverable Fault A Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SRC" description="Fault A Source">
+        <Enum name="DISABLE" start="0x0" description="Fault input disabled" />
+        <Enum name="ENABLE" start="0x1" description="MCEx (x=0,1) event input" />
+        <Enum name="INVERT" start="0x2" description="Inverted MCEx (x=0,1) event input" />
+        <Enum name="ALTFAULT" start="0x3" description="Alternate fault (A or B) state at the end of the previous period" />
+      </BitField>
+      <BitField start="3" size="1" name="KEEP" description="Fault A Keeper" />
+      <BitField start="4" size="1" name="QUAL" description="Fault A Qualification" />
+      <BitField start="5" size="2" name="BLANK" description="Fault A Blanking Mode">
+        <Enum name="START" start="0x0" description="Blanking applied from start of the ramp" />
+        <Enum name="RISE" start="0x1" description="Blanking applied from rising edge of the output waveform" />
+        <Enum name="FALL" start="0x2" description="Blanking applied from falling edge of the output waveform" />
+        <Enum name="BOTH" start="0x3" description="Blanking applied from each toggle of the output waveform" />
+      </BitField>
+      <BitField start="7" size="1" name="RESTART" description="Fault A Restart" />
+      <BitField start="8" size="2" name="HALT" description="Fault A Halt Mode">
+        <Enum name="DISABLE" start="0x0" description="Halt action disabled" />
+        <Enum name="HW" start="0x1" description="Hardware halt action" />
+        <Enum name="SW" start="0x2" description="Software halt action" />
+        <Enum name="NR" start="0x3" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="10" size="2" name="CHSEL" description="Fault A Capture Channel">
+        <Enum name="CC0" start="0x0" description="Capture value stored in channel 0" />
+        <Enum name="CC1" start="0x1" description="Capture value stored in channel 1" />
+        <Enum name="CC2" start="0x2" description="Capture value stored in channel 2" />
+        <Enum name="CC3" start="0x3" description="Capture value stored in channel 3" />
+      </BitField>
+      <BitField start="12" size="3" name="CAPTURE" description="Fault A Capture Action">
+        <Enum name="DISABLE" start="0x0" description="No capture" />
+        <Enum name="CAPT" start="0x1" description="Capture on fault" />
+        <Enum name="CAPTMIN" start="0x2" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x3" description="Maximum capture" />
+        <Enum name="LOCMIN" start="0x4" description="Minimum local detection" />
+        <Enum name="LOCMAX" start="0x5" description="Maximum local detection" />
+        <Enum name="DERIV0" start="0x6" description="Minimum and maximum local detection" />
+        <Enum name="CAPTMARK" start="0x7" description="Capture with ramp index as MSB value" />
+      </BitField>
+      <BitField start="15" size="1" name="BLANKPRESC" description="Fault A Blanking Prescaler" />
+      <BitField start="16" size="8" name="BLANKVAL" description="Fault A Blanking Time" />
+      <BitField start="24" size="4" name="FILTERVAL" description="Fault A Filter Value" />
+    </Register>
+    <Register start="+0x10" size="4" name="TCC_FCTRLB" access="Read/Write" description="Recoverable Fault B Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SRC" description="Fault B Source">
+        <Enum name="DISABLE" start="0x0" description="Fault input disabled" />
+        <Enum name="ENABLE" start="0x1" description="MCEx (x=0,1) event input" />
+        <Enum name="INVERT" start="0x2" description="Inverted MCEx (x=0,1) event input" />
+        <Enum name="ALTFAULT" start="0x3" description="Alternate fault (A or B) state at the end of the previous period" />
+      </BitField>
+      <BitField start="3" size="1" name="KEEP" description="Fault B Keeper" />
+      <BitField start="4" size="1" name="QUAL" description="Fault B Qualification" />
+      <BitField start="5" size="2" name="BLANK" description="Fault B Blanking Mode">
+        <Enum name="START" start="0x0" description="Blanking applied from start of the ramp" />
+        <Enum name="RISE" start="0x1" description="Blanking applied from rising edge of the output waveform" />
+        <Enum name="FALL" start="0x2" description="Blanking applied from falling edge of the output waveform" />
+        <Enum name="BOTH" start="0x3" description="Blanking applied from each toggle of the output waveform" />
+      </BitField>
+      <BitField start="7" size="1" name="RESTART" description="Fault B Restart" />
+      <BitField start="8" size="2" name="HALT" description="Fault B Halt Mode">
+        <Enum name="DISABLE" start="0x0" description="Halt action disabled" />
+        <Enum name="HW" start="0x1" description="Hardware halt action" />
+        <Enum name="SW" start="0x2" description="Software halt action" />
+        <Enum name="NR" start="0x3" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="10" size="2" name="CHSEL" description="Fault B Capture Channel">
+        <Enum name="CC0" start="0x0" description="Capture value stored in channel 0" />
+        <Enum name="CC1" start="0x1" description="Capture value stored in channel 1" />
+        <Enum name="CC2" start="0x2" description="Capture value stored in channel 2" />
+        <Enum name="CC3" start="0x3" description="Capture value stored in channel 3" />
+      </BitField>
+      <BitField start="12" size="3" name="CAPTURE" description="Fault B Capture Action">
+        <Enum name="DISABLE" start="0x0" description="No capture" />
+        <Enum name="CAPT" start="0x1" description="Capture on fault" />
+        <Enum name="CAPTMIN" start="0x2" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x3" description="Maximum capture" />
+        <Enum name="LOCMIN" start="0x4" description="Minimum local detection" />
+        <Enum name="LOCMAX" start="0x5" description="Maximum local detection" />
+        <Enum name="DERIV0" start="0x6" description="Minimum and maximum local detection" />
+        <Enum name="CAPTMARK" start="0x7" description="Capture with ramp index as MSB value" />
+      </BitField>
+      <BitField start="15" size="1" name="BLANKPRESC" description="Fault B Blanking Prescaler" />
+      <BitField start="16" size="8" name="BLANKVAL" description="Fault B Blanking Time" />
+      <BitField start="24" size="4" name="FILTERVAL" description="Fault B Filter Value" />
+    </Register>
+    <Register start="+0x14" size="4" name="TCC_WEXCTRL" access="Read/Write" description="Waveform Extension Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="OTMX" description="Output Matrix" />
+      <BitField start="8" size="1" name="DTIEN0" description="Dead-time Insertion Generator 0 Enable" />
+      <BitField start="9" size="1" name="DTIEN1" description="Dead-time Insertion Generator 1 Enable" />
+      <BitField start="10" size="1" name="DTIEN2" description="Dead-time Insertion Generator 2 Enable" />
+      <BitField start="11" size="1" name="DTIEN3" description="Dead-time Insertion Generator 3 Enable" />
+      <BitField start="16" size="8" name="DTLS" description="Dead-time Low Side Outputs Value" />
+      <BitField start="24" size="8" name="DTHS" description="Dead-time High Side Outputs Value" />
+    </Register>
+    <Register start="+0x18" size="4" name="TCC_DRVCTRL" access="Read/Write" description="Driver Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="NRE0" description="Non-Recoverable State 0 Output Enable" />
+      <BitField start="1" size="1" name="NRE1" description="Non-Recoverable State 1 Output Enable" />
+      <BitField start="2" size="1" name="NRE2" description="Non-Recoverable State 2 Output Enable" />
+      <BitField start="3" size="1" name="NRE3" description="Non-Recoverable State 3 Output Enable" />
+      <BitField start="4" size="1" name="NRE4" description="Non-Recoverable State 4 Output Enable" />
+      <BitField start="5" size="1" name="NRE5" description="Non-Recoverable State 5 Output Enable" />
+      <BitField start="6" size="1" name="NRE6" description="Non-Recoverable State 6 Output Enable" />
+      <BitField start="7" size="1" name="NRE7" description="Non-Recoverable State 7 Output Enable" />
+      <BitField start="8" size="1" name="NRV0" description="Non-Recoverable State 0 Output Value" />
+      <BitField start="9" size="1" name="NRV1" description="Non-Recoverable State 1 Output Value" />
+      <BitField start="10" size="1" name="NRV2" description="Non-Recoverable State 2 Output Value" />
+      <BitField start="11" size="1" name="NRV3" description="Non-Recoverable State 3 Output Value" />
+      <BitField start="12" size="1" name="NRV4" description="Non-Recoverable State 4 Output Value" />
+      <BitField start="13" size="1" name="NRV5" description="Non-Recoverable State 5 Output Value" />
+      <BitField start="14" size="1" name="NRV6" description="Non-Recoverable State 6 Output Value" />
+      <BitField start="15" size="1" name="NRV7" description="Non-Recoverable State 7 Output Value" />
+      <BitField start="16" size="1" name="INVEN0" description="Output Waveform 0 Inversion" />
+      <BitField start="17" size="1" name="INVEN1" description="Output Waveform 1 Inversion" />
+      <BitField start="18" size="1" name="INVEN2" description="Output Waveform 2 Inversion" />
+      <BitField start="19" size="1" name="INVEN3" description="Output Waveform 3 Inversion" />
+      <BitField start="20" size="1" name="INVEN4" description="Output Waveform 4 Inversion" />
+      <BitField start="21" size="1" name="INVEN5" description="Output Waveform 5 Inversion" />
+      <BitField start="22" size="1" name="INVEN6" description="Output Waveform 6 Inversion" />
+      <BitField start="23" size="1" name="INVEN7" description="Output Waveform 7 Inversion" />
+      <BitField start="24" size="4" name="FILTERVAL0" description="Non-Recoverable Fault Input 0 Filter Value" />
+      <BitField start="28" size="4" name="FILTERVAL1" description="Non-Recoverable Fault Input 1 Filter Value" />
+    </Register>
+    <Register start="+0x1E" size="1" name="TCC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Running Mode" />
+      <BitField start="2" size="1" name="FDDBD" description="Fault Detection on Debug Break Detection" />
+    </Register>
+    <Register start="+0x20" size="4" name="TCC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT0" description="Timer/counter Input Event0 Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or re-trigger counter on event" />
+        <Enum name="COUNTEV" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start counter on event" />
+        <Enum name="INC" start="0x4" description="Increment counter on event" />
+        <Enum name="COUNT" start="0x5" description="Count on active state of asynchronous event" />
+        <Enum name="STAMP" start="0x6" description="Stamp capture" />
+        <Enum name="FAULT" start="0x7" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="3" size="3" name="EVACT1" description="Timer/counter Input Event1 Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Re-trigger counter on event" />
+        <Enum name="DIR" start="0x2" description="Direction control" />
+        <Enum name="STOP" start="0x3" description="Stop counter on event" />
+        <Enum name="DEC" start="0x4" description="Decrement counter on event" />
+        <Enum name="PPW" start="0x5" description="Period capture value in CC0 register, pulse width capture value in CC1 register" />
+        <Enum name="PWP" start="0x6" description="Period capture value in CC1 register, pulse width capture value in CC0 register" />
+        <Enum name="FAULT" start="0x7" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="6" size="2" name="CNTSEL" description="Timer/counter Output Event Mode">
+        <Enum name="START" start="0x0" description="An interrupt/event is generated when a new counter cycle starts" />
+        <Enum name="END" start="0x1" description="An interrupt/event is generated when a counter cycle ends" />
+        <Enum name="BETWEEN" start="0x2" description="An interrupt/event is generated when a counter cycle ends, except for the first and last cycles" />
+        <Enum name="BOUNDARY" start="0x3" description="An interrupt/event is generated when a new counter cycle starts or a counter cycle ends" />
+      </BitField>
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Output Event Enable" />
+      <BitField start="9" size="1" name="TRGEO" description="Retrigger Output Event Enable" />
+      <BitField start="10" size="1" name="CNTEO" description="Timer/counter Output Event Enable" />
+      <BitField start="12" size="1" name="TCINV0" description="Inverted Event 0 Input Enable" />
+      <BitField start="13" size="1" name="TCINV1" description="Inverted Event 1 Input Enable" />
+      <BitField start="14" size="1" name="TCEI0" description="Timer/counter Event 0 Input Enable" />
+      <BitField start="15" size="1" name="TCEI1" description="Timer/counter Event 1 Input Enable" />
+      <BitField start="16" size="1" name="MCEI0" description="Match or Capture Channel 0 Event Input Enable" />
+      <BitField start="17" size="1" name="MCEI1" description="Match or Capture Channel 1 Event Input Enable" />
+      <BitField start="18" size="1" name="MCEI2" description="Match or Capture Channel 2 Event Input Enable" />
+      <BitField start="19" size="1" name="MCEI3" description="Match or Capture Channel 3 Event Input Enable" />
+      <BitField start="20" size="1" name="MCEI4" description="Match or Capture Channel 4 Event Input Enable" />
+      <BitField start="21" size="1" name="MCEI5" description="Match or Capture Channel 5 Event Input Enable" />
+      <BitField start="24" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="25" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+      <BitField start="26" size="1" name="MCEO2" description="Match or Capture Channel 2 Event Output Enable" />
+      <BitField start="27" size="1" name="MCEO3" description="Match or Capture Channel 3 Event Output Enable" />
+      <BitField start="28" size="1" name="MCEO4" description="Match or Capture Channel 4 Event Output Enable" />
+      <BitField start="29" size="1" name="MCEO5" description="Match or Capture Channel 5 Event Output Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="TCC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger Interrupt Enable" />
+      <BitField start="2" size="1" name="CNT" description="Counter Interrupt Enable" />
+      <BitField start="3" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="10" size="1" name="UFS" description="Non-Recoverable Update Fault Interrupt Enable" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault Interrupt Enable" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A Interrupt Enable" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B Interrupt Enable" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 Interrupt Enable" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 Interrupt Enable" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture Channel 2 Interrupt Enable" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture Channel 3 Interrupt Enable" />
+      <BitField start="20" size="1" name="MC4" description="Match or Capture Channel 4 Interrupt Enable" />
+      <BitField start="21" size="1" name="MC5" description="Match or Capture Channel 5 Interrupt Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="TCC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger Interrupt Enable" />
+      <BitField start="2" size="1" name="CNT" description="Counter Interrupt Enable" />
+      <BitField start="3" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="10" size="1" name="UFS" description="Non-Recoverable Update Fault Interrupt Enable" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault Interrupt Enable" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A Interrupt Enable" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B Interrupt Enable" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 Interrupt Enable" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 Interrupt Enable" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture Channel 2 Interrupt Enable" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture Channel 3 Interrupt Enable" />
+      <BitField start="20" size="1" name="MC4" description="Match or Capture Channel 4 Interrupt Enable" />
+      <BitField start="21" size="1" name="MC5" description="Match or Capture Channel 5 Interrupt Enable" />
+    </Register>
+    <Register start="+0x2C" size="4" name="TCC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger" />
+      <BitField start="2" size="1" name="CNT" description="Counter" />
+      <BitField start="3" size="1" name="ERR" description="Error" />
+      <BitField start="10" size="1" name="UFS" description="Non-Recoverable Update Fault" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture 0" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture 1" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture 2" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture 3" />
+      <BitField start="20" size="1" name="MC4" description="Match or Capture 4" />
+      <BitField start="21" size="1" name="MC5" description="Match or Capture 5" />
+    </Register>
+    <Register start="+0x30" size="4" name="TCC_STATUS" access="Read/Write" description="Status" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop" />
+      <BitField start="1" size="1" name="IDX" description="Ramp" />
+      <BitField start="2" size="1" name="UFS" description="Non-recoverable Update Fault State" />
+      <BitField start="3" size="1" name="DFS" description="Non-Recoverable Debug Fault State" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="5" size="1" name="PATTBUFV" description="Pattern Buffer Valid" />
+      <BitField start="7" size="1" name="PERBUFV" description="Period Buffer Valid" />
+      <BitField start="8" size="1" name="FAULTAIN" description="Recoverable Fault A Input" />
+      <BitField start="9" size="1" name="FAULTBIN" description="Recoverable Fault B Input" />
+      <BitField start="10" size="1" name="FAULT0IN" description="Non-Recoverable Fault0 Input" />
+      <BitField start="11" size="1" name="FAULT1IN" description="Non-Recoverable Fault1 Input" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A State" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B State" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 State" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 State" />
+      <BitField start="16" size="1" name="CCBUFV0" description="Compare Channel 0 Buffer Valid" />
+      <BitField start="17" size="1" name="CCBUFV1" description="Compare Channel 1 Buffer Valid" />
+      <BitField start="18" size="1" name="CCBUFV2" description="Compare Channel 2 Buffer Valid" />
+      <BitField start="19" size="1" name="CCBUFV3" description="Compare Channel 3 Buffer Valid" />
+      <BitField start="20" size="1" name="CCBUFV4" description="Compare Channel 4 Buffer Valid" />
+      <BitField start="21" size="1" name="CCBUFV5" description="Compare Channel 5 Buffer Valid" />
+      <BitField start="24" size="1" name="CMP0" description="Compare Channel 0 Value" />
+      <BitField start="25" size="1" name="CMP1" description="Compare Channel 1 Value" />
+      <BitField start="26" size="1" name="CMP2" description="Compare Channel 2 Value" />
+      <BitField start="27" size="1" name="CMP3" description="Compare Channel 3 Value" />
+      <BitField start="28" size="1" name="CMP4" description="Compare Channel 4 Value" />
+      <BitField start="29" size="1" name="CMP5" description="Compare Channel 5 Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH4" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="4" size="20" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH5" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="5" size="19" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH6" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="6" size="18" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x38" size="2" name="TCC_PATT" access="Read/Write" description="Pattern" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PGE0" description="Pattern Generator 0 Output Enable" />
+      <BitField start="1" size="1" name="PGE1" description="Pattern Generator 1 Output Enable" />
+      <BitField start="2" size="1" name="PGE2" description="Pattern Generator 2 Output Enable" />
+      <BitField start="3" size="1" name="PGE3" description="Pattern Generator 3 Output Enable" />
+      <BitField start="4" size="1" name="PGE4" description="Pattern Generator 4 Output Enable" />
+      <BitField start="5" size="1" name="PGE5" description="Pattern Generator 5 Output Enable" />
+      <BitField start="6" size="1" name="PGE6" description="Pattern Generator 6 Output Enable" />
+      <BitField start="7" size="1" name="PGE7" description="Pattern Generator 7 Output Enable" />
+      <BitField start="8" size="1" name="PGV0" description="Pattern Generator 0 Output Value" />
+      <BitField start="9" size="1" name="PGV1" description="Pattern Generator 1 Output Value" />
+      <BitField start="10" size="1" name="PGV2" description="Pattern Generator 2 Output Value" />
+      <BitField start="11" size="1" name="PGV3" description="Pattern Generator 3 Output Value" />
+      <BitField start="12" size="1" name="PGV4" description="Pattern Generator 4 Output Value" />
+      <BitField start="13" size="1" name="PGV5" description="Pattern Generator 5 Output Value" />
+      <BitField start="14" size="1" name="PGV6" description="Pattern Generator 6 Output Value" />
+      <BitField start="15" size="1" name="PGV7" description="Pattern Generator 7 Output Value" />
+    </Register>
+    <Register start="+0x3C" size="4" name="TCC_WAVE" access="Read/Write" description="Waveform Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="WAVEGEN" description="Waveform Generation">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="DSCRITICAL" start="0x4" description="Dual-slope critical" />
+        <Enum name="DSBOTTOM" start="0x5" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO" />
+        <Enum name="DSBOTH" start="0x6" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP" />
+        <Enum name="DSTOP" start="0x7" description="Dual-slope with interrupt/event condition when COUNT reaches TOP" />
+      </BitField>
+      <BitField start="4" size="2" name="RAMP" description="Ramp Mode">
+        <Enum name="RAMP1" start="0x0" description="RAMP1 operation" />
+        <Enum name="RAMP2A" start="0x1" description="Alternative RAMP2 operation" />
+        <Enum name="RAMP2" start="0x2" description="RAMP2 operation" />
+        <Enum name="RAMP2C" start="0x3" description="Critical RAMP2 operation" />
+      </BitField>
+      <BitField start="7" size="1" name="CIPEREN" description="Circular period Enable" />
+      <BitField start="8" size="1" name="CICCEN0" description="Circular Channel 0 Enable" />
+      <BitField start="9" size="1" name="CICCEN1" description="Circular Channel 1 Enable" />
+      <BitField start="10" size="1" name="CICCEN2" description="Circular Channel 2 Enable" />
+      <BitField start="11" size="1" name="CICCEN3" description="Circular Channel 3 Enable" />
+      <BitField start="16" size="1" name="POL0" description="Channel 0 Polarity" />
+      <BitField start="17" size="1" name="POL1" description="Channel 1 Polarity" />
+      <BitField start="18" size="1" name="POL2" description="Channel 2 Polarity" />
+      <BitField start="19" size="1" name="POL3" description="Channel 3 Polarity" />
+      <BitField start="20" size="1" name="POL4" description="Channel 4 Polarity" />
+      <BitField start="21" size="1" name="POL5" description="Channel 5 Polarity" />
+      <BitField start="24" size="1" name="SWAP0" description="Swap DTI Output Pair 0" />
+      <BitField start="25" size="1" name="SWAP1" description="Swap DTI Output Pair 1" />
+      <BitField start="26" size="1" name="SWAP2" description="Swap DTI Output Pair 2" />
+      <BitField start="27" size="1" name="SWAP3" description="Swap DTI Output Pair 3" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH4" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH5" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH6" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x64" size="2" name="TCC_PATTBUF" access="Read/Write" description="Pattern Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PGEB0" description="Pattern Generator 0 Output Enable Buffer" />
+      <BitField start="1" size="1" name="PGEB1" description="Pattern Generator 1 Output Enable Buffer" />
+      <BitField start="2" size="1" name="PGEB2" description="Pattern Generator 2 Output Enable Buffer" />
+      <BitField start="3" size="1" name="PGEB3" description="Pattern Generator 3 Output Enable Buffer" />
+      <BitField start="4" size="1" name="PGEB4" description="Pattern Generator 4 Output Enable Buffer" />
+      <BitField start="5" size="1" name="PGEB5" description="Pattern Generator 5 Output Enable Buffer" />
+      <BitField start="6" size="1" name="PGEB6" description="Pattern Generator 6 Output Enable Buffer" />
+      <BitField start="7" size="1" name="PGEB7" description="Pattern Generator 7 Output Enable Buffer" />
+      <BitField start="8" size="1" name="PGVB0" description="Pattern Generator 0 Output Enable" />
+      <BitField start="9" size="1" name="PGVB1" description="Pattern Generator 1 Output Enable" />
+      <BitField start="10" size="1" name="PGVB2" description="Pattern Generator 2 Output Enable" />
+      <BitField start="11" size="1" name="PGVB3" description="Pattern Generator 3 Output Enable" />
+      <BitField start="12" size="1" name="PGVB4" description="Pattern Generator 4 Output Enable" />
+      <BitField start="13" size="1" name="PGVB5" description="Pattern Generator 5 Output Enable" />
+      <BitField start="14" size="1" name="PGVB6" description="Pattern Generator 6 Output Enable" />
+      <BitField start="15" size="1" name="PGVB7" description="Pattern Generator 7 Output Enable" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF_DITH4" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF_DITH5" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF_DITH6" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TCC3" start="0x42001000" description="Timer Counter Control 3">
+    <Register start="+0x00" size="4" name="TCC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="5" size="2" name="RESOLUTION" description="Enhanced Resolution">
+        <Enum name="NONE" start="0x0" description="Dithering is disabled" />
+        <Enum name="DITH4" start="0x1" description="Dithering is done every 16 PWM frames" />
+        <Enum name="DITH5" start="0x2" description="Dithering is done every 32 PWM frames" />
+        <Enum name="DITH6" start="0x3" description="Dithering is done every 64 PWM frames" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="No division" />
+        <Enum name="DIV2" start="0x1" description="Divide by 2" />
+        <Enum name="DIV4" start="0x2" description="Divide by 4" />
+        <Enum name="DIV8" start="0x3" description="Divide by 8" />
+        <Enum name="DIV16" start="0x4" description="Divide by 16" />
+        <Enum name="DIV64" start="0x5" description="Divide by 64" />
+        <Enum name="DIV256" start="0x6" description="Divide by 256" />
+        <Enum name="DIV1024" start="0x7" description="Divide by 1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization Selection">
+        <Enum name="GCLK" start="0x0" description="Reload or reset counter on next GCLK" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset counter on next GCLK and reset prescaler counter" />
+      </BitField>
+      <BitField start="14" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="15" size="1" name="MSYNC" description="Master Synchronization (only for TCC Slave Instance)" />
+      <BitField start="23" size="1" name="DMAOS" description="DMA One-shot Trigger Mode" />
+      <BitField start="24" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="25" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="26" size="1" name="CPTEN2" description="Capture Channel 2 Enable" />
+      <BitField start="27" size="1" name="CPTEN3" description="Capture Channel 3 Enable" />
+      <BitField start="28" size="1" name="CPTEN4" description="Capture Channel 4 Enable" />
+      <BitField start="29" size="1" name="CPTEN5" description="Capture Channel 5 Enable" />
+    </Register>
+    <Register start="+0x04" size="1" name="TCC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="3" size="2" name="IDXCMD" description="Ramp Index Command">
+        <Enum name="DISABLE" start="0x0" description="Command disabled: Index toggles between cycles A and B" />
+        <Enum name="SET" start="0x1" description="Set index: cycle B will be forced in the next cycle" />
+        <Enum name="CLEAR" start="0x2" description="Clear index: cycle A will be forced in the next cycle" />
+        <Enum name="HOLD" start="0x3" description="Hold index: the next cycle will be the same as the current cycle" />
+      </BitField>
+      <BitField start="5" size="3" name="CMD" description="TCC Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Clear start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update or double buffered registers" />
+        <Enum name="READSYNC" start="0x4" description="Force COUNT read synchronization" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TCC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="3" size="2" name="IDXCMD" description="Ramp Index Command">
+        <Enum name="DISABLE" start="0x0" description="Command disabled: Index toggles between cycles A and B" />
+        <Enum name="SET" start="0x1" description="Set index: cycle B will be forced in the next cycle" />
+        <Enum name="CLEAR" start="0x2" description="Clear index: cycle A will be forced in the next cycle" />
+        <Enum name="HOLD" start="0x3" description="Hold index: the next cycle will be the same as the current cycle" />
+      </BitField>
+      <BitField start="5" size="3" name="CMD" description="TCC Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Clear start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update or double buffered registers" />
+        <Enum name="READSYNC" start="0x4" description="Force COUNT read synchronization" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x08" size="4" name="TCC_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Swrst Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="Ctrlb Busy" />
+      <BitField start="3" size="1" name="STATUS" description="Status Busy" />
+      <BitField start="4" size="1" name="COUNT" description="Count Busy" />
+      <BitField start="5" size="1" name="PATT" description="Pattern Busy" />
+      <BitField start="6" size="1" name="WAVE" description="Wave Busy" />
+      <BitField start="7" size="1" name="PER" description="Period Busy" />
+      <BitField start="8" size="1" name="CC0" description="Compare Channel 0 Busy" />
+      <BitField start="9" size="1" name="CC1" description="Compare Channel 1 Busy" />
+      <BitField start="10" size="1" name="CC2" description="Compare Channel 2 Busy" />
+      <BitField start="11" size="1" name="CC3" description="Compare Channel 3 Busy" />
+      <BitField start="12" size="1" name="CC4" description="Compare Channel 4 Busy" />
+      <BitField start="13" size="1" name="CC5" description="Compare Channel 5 Busy" />
+    </Register>
+    <Register start="+0x0C" size="4" name="TCC_FCTRLA" access="Read/Write" description="Recoverable Fault A Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SRC" description="Fault A Source">
+        <Enum name="DISABLE" start="0x0" description="Fault input disabled" />
+        <Enum name="ENABLE" start="0x1" description="MCEx (x=0,1) event input" />
+        <Enum name="INVERT" start="0x2" description="Inverted MCEx (x=0,1) event input" />
+        <Enum name="ALTFAULT" start="0x3" description="Alternate fault (A or B) state at the end of the previous period" />
+      </BitField>
+      <BitField start="3" size="1" name="KEEP" description="Fault A Keeper" />
+      <BitField start="4" size="1" name="QUAL" description="Fault A Qualification" />
+      <BitField start="5" size="2" name="BLANK" description="Fault A Blanking Mode">
+        <Enum name="START" start="0x0" description="Blanking applied from start of the ramp" />
+        <Enum name="RISE" start="0x1" description="Blanking applied from rising edge of the output waveform" />
+        <Enum name="FALL" start="0x2" description="Blanking applied from falling edge of the output waveform" />
+        <Enum name="BOTH" start="0x3" description="Blanking applied from each toggle of the output waveform" />
+      </BitField>
+      <BitField start="7" size="1" name="RESTART" description="Fault A Restart" />
+      <BitField start="8" size="2" name="HALT" description="Fault A Halt Mode">
+        <Enum name="DISABLE" start="0x0" description="Halt action disabled" />
+        <Enum name="HW" start="0x1" description="Hardware halt action" />
+        <Enum name="SW" start="0x2" description="Software halt action" />
+        <Enum name="NR" start="0x3" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="10" size="2" name="CHSEL" description="Fault A Capture Channel">
+        <Enum name="CC0" start="0x0" description="Capture value stored in channel 0" />
+        <Enum name="CC1" start="0x1" description="Capture value stored in channel 1" />
+        <Enum name="CC2" start="0x2" description="Capture value stored in channel 2" />
+        <Enum name="CC3" start="0x3" description="Capture value stored in channel 3" />
+      </BitField>
+      <BitField start="12" size="3" name="CAPTURE" description="Fault A Capture Action">
+        <Enum name="DISABLE" start="0x0" description="No capture" />
+        <Enum name="CAPT" start="0x1" description="Capture on fault" />
+        <Enum name="CAPTMIN" start="0x2" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x3" description="Maximum capture" />
+        <Enum name="LOCMIN" start="0x4" description="Minimum local detection" />
+        <Enum name="LOCMAX" start="0x5" description="Maximum local detection" />
+        <Enum name="DERIV0" start="0x6" description="Minimum and maximum local detection" />
+        <Enum name="CAPTMARK" start="0x7" description="Capture with ramp index as MSB value" />
+      </BitField>
+      <BitField start="15" size="1" name="BLANKPRESC" description="Fault A Blanking Prescaler" />
+      <BitField start="16" size="8" name="BLANKVAL" description="Fault A Blanking Time" />
+      <BitField start="24" size="4" name="FILTERVAL" description="Fault A Filter Value" />
+    </Register>
+    <Register start="+0x10" size="4" name="TCC_FCTRLB" access="Read/Write" description="Recoverable Fault B Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SRC" description="Fault B Source">
+        <Enum name="DISABLE" start="0x0" description="Fault input disabled" />
+        <Enum name="ENABLE" start="0x1" description="MCEx (x=0,1) event input" />
+        <Enum name="INVERT" start="0x2" description="Inverted MCEx (x=0,1) event input" />
+        <Enum name="ALTFAULT" start="0x3" description="Alternate fault (A or B) state at the end of the previous period" />
+      </BitField>
+      <BitField start="3" size="1" name="KEEP" description="Fault B Keeper" />
+      <BitField start="4" size="1" name="QUAL" description="Fault B Qualification" />
+      <BitField start="5" size="2" name="BLANK" description="Fault B Blanking Mode">
+        <Enum name="START" start="0x0" description="Blanking applied from start of the ramp" />
+        <Enum name="RISE" start="0x1" description="Blanking applied from rising edge of the output waveform" />
+        <Enum name="FALL" start="0x2" description="Blanking applied from falling edge of the output waveform" />
+        <Enum name="BOTH" start="0x3" description="Blanking applied from each toggle of the output waveform" />
+      </BitField>
+      <BitField start="7" size="1" name="RESTART" description="Fault B Restart" />
+      <BitField start="8" size="2" name="HALT" description="Fault B Halt Mode">
+        <Enum name="DISABLE" start="0x0" description="Halt action disabled" />
+        <Enum name="HW" start="0x1" description="Hardware halt action" />
+        <Enum name="SW" start="0x2" description="Software halt action" />
+        <Enum name="NR" start="0x3" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="10" size="2" name="CHSEL" description="Fault B Capture Channel">
+        <Enum name="CC0" start="0x0" description="Capture value stored in channel 0" />
+        <Enum name="CC1" start="0x1" description="Capture value stored in channel 1" />
+        <Enum name="CC2" start="0x2" description="Capture value stored in channel 2" />
+        <Enum name="CC3" start="0x3" description="Capture value stored in channel 3" />
+      </BitField>
+      <BitField start="12" size="3" name="CAPTURE" description="Fault B Capture Action">
+        <Enum name="DISABLE" start="0x0" description="No capture" />
+        <Enum name="CAPT" start="0x1" description="Capture on fault" />
+        <Enum name="CAPTMIN" start="0x2" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x3" description="Maximum capture" />
+        <Enum name="LOCMIN" start="0x4" description="Minimum local detection" />
+        <Enum name="LOCMAX" start="0x5" description="Maximum local detection" />
+        <Enum name="DERIV0" start="0x6" description="Minimum and maximum local detection" />
+        <Enum name="CAPTMARK" start="0x7" description="Capture with ramp index as MSB value" />
+      </BitField>
+      <BitField start="15" size="1" name="BLANKPRESC" description="Fault B Blanking Prescaler" />
+      <BitField start="16" size="8" name="BLANKVAL" description="Fault B Blanking Time" />
+      <BitField start="24" size="4" name="FILTERVAL" description="Fault B Filter Value" />
+    </Register>
+    <Register start="+0x14" size="4" name="TCC_WEXCTRL" access="Read/Write" description="Waveform Extension Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="OTMX" description="Output Matrix" />
+      <BitField start="8" size="1" name="DTIEN0" description="Dead-time Insertion Generator 0 Enable" />
+      <BitField start="9" size="1" name="DTIEN1" description="Dead-time Insertion Generator 1 Enable" />
+      <BitField start="10" size="1" name="DTIEN2" description="Dead-time Insertion Generator 2 Enable" />
+      <BitField start="11" size="1" name="DTIEN3" description="Dead-time Insertion Generator 3 Enable" />
+      <BitField start="16" size="8" name="DTLS" description="Dead-time Low Side Outputs Value" />
+      <BitField start="24" size="8" name="DTHS" description="Dead-time High Side Outputs Value" />
+    </Register>
+    <Register start="+0x18" size="4" name="TCC_DRVCTRL" access="Read/Write" description="Driver Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="NRE0" description="Non-Recoverable State 0 Output Enable" />
+      <BitField start="1" size="1" name="NRE1" description="Non-Recoverable State 1 Output Enable" />
+      <BitField start="2" size="1" name="NRE2" description="Non-Recoverable State 2 Output Enable" />
+      <BitField start="3" size="1" name="NRE3" description="Non-Recoverable State 3 Output Enable" />
+      <BitField start="4" size="1" name="NRE4" description="Non-Recoverable State 4 Output Enable" />
+      <BitField start="5" size="1" name="NRE5" description="Non-Recoverable State 5 Output Enable" />
+      <BitField start="6" size="1" name="NRE6" description="Non-Recoverable State 6 Output Enable" />
+      <BitField start="7" size="1" name="NRE7" description="Non-Recoverable State 7 Output Enable" />
+      <BitField start="8" size="1" name="NRV0" description="Non-Recoverable State 0 Output Value" />
+      <BitField start="9" size="1" name="NRV1" description="Non-Recoverable State 1 Output Value" />
+      <BitField start="10" size="1" name="NRV2" description="Non-Recoverable State 2 Output Value" />
+      <BitField start="11" size="1" name="NRV3" description="Non-Recoverable State 3 Output Value" />
+      <BitField start="12" size="1" name="NRV4" description="Non-Recoverable State 4 Output Value" />
+      <BitField start="13" size="1" name="NRV5" description="Non-Recoverable State 5 Output Value" />
+      <BitField start="14" size="1" name="NRV6" description="Non-Recoverable State 6 Output Value" />
+      <BitField start="15" size="1" name="NRV7" description="Non-Recoverable State 7 Output Value" />
+      <BitField start="16" size="1" name="INVEN0" description="Output Waveform 0 Inversion" />
+      <BitField start="17" size="1" name="INVEN1" description="Output Waveform 1 Inversion" />
+      <BitField start="18" size="1" name="INVEN2" description="Output Waveform 2 Inversion" />
+      <BitField start="19" size="1" name="INVEN3" description="Output Waveform 3 Inversion" />
+      <BitField start="20" size="1" name="INVEN4" description="Output Waveform 4 Inversion" />
+      <BitField start="21" size="1" name="INVEN5" description="Output Waveform 5 Inversion" />
+      <BitField start="22" size="1" name="INVEN6" description="Output Waveform 6 Inversion" />
+      <BitField start="23" size="1" name="INVEN7" description="Output Waveform 7 Inversion" />
+      <BitField start="24" size="4" name="FILTERVAL0" description="Non-Recoverable Fault Input 0 Filter Value" />
+      <BitField start="28" size="4" name="FILTERVAL1" description="Non-Recoverable Fault Input 1 Filter Value" />
+    </Register>
+    <Register start="+0x1E" size="1" name="TCC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Running Mode" />
+      <BitField start="2" size="1" name="FDDBD" description="Fault Detection on Debug Break Detection" />
+    </Register>
+    <Register start="+0x20" size="4" name="TCC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT0" description="Timer/counter Input Event0 Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or re-trigger counter on event" />
+        <Enum name="COUNTEV" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start counter on event" />
+        <Enum name="INC" start="0x4" description="Increment counter on event" />
+        <Enum name="COUNT" start="0x5" description="Count on active state of asynchronous event" />
+        <Enum name="STAMP" start="0x6" description="Stamp capture" />
+        <Enum name="FAULT" start="0x7" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="3" size="3" name="EVACT1" description="Timer/counter Input Event1 Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Re-trigger counter on event" />
+        <Enum name="DIR" start="0x2" description="Direction control" />
+        <Enum name="STOP" start="0x3" description="Stop counter on event" />
+        <Enum name="DEC" start="0x4" description="Decrement counter on event" />
+        <Enum name="PPW" start="0x5" description="Period capture value in CC0 register, pulse width capture value in CC1 register" />
+        <Enum name="PWP" start="0x6" description="Period capture value in CC1 register, pulse width capture value in CC0 register" />
+        <Enum name="FAULT" start="0x7" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="6" size="2" name="CNTSEL" description="Timer/counter Output Event Mode">
+        <Enum name="START" start="0x0" description="An interrupt/event is generated when a new counter cycle starts" />
+        <Enum name="END" start="0x1" description="An interrupt/event is generated when a counter cycle ends" />
+        <Enum name="BETWEEN" start="0x2" description="An interrupt/event is generated when a counter cycle ends, except for the first and last cycles" />
+        <Enum name="BOUNDARY" start="0x3" description="An interrupt/event is generated when a new counter cycle starts or a counter cycle ends" />
+      </BitField>
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Output Event Enable" />
+      <BitField start="9" size="1" name="TRGEO" description="Retrigger Output Event Enable" />
+      <BitField start="10" size="1" name="CNTEO" description="Timer/counter Output Event Enable" />
+      <BitField start="12" size="1" name="TCINV0" description="Inverted Event 0 Input Enable" />
+      <BitField start="13" size="1" name="TCINV1" description="Inverted Event 1 Input Enable" />
+      <BitField start="14" size="1" name="TCEI0" description="Timer/counter Event 0 Input Enable" />
+      <BitField start="15" size="1" name="TCEI1" description="Timer/counter Event 1 Input Enable" />
+      <BitField start="16" size="1" name="MCEI0" description="Match or Capture Channel 0 Event Input Enable" />
+      <BitField start="17" size="1" name="MCEI1" description="Match or Capture Channel 1 Event Input Enable" />
+      <BitField start="18" size="1" name="MCEI2" description="Match or Capture Channel 2 Event Input Enable" />
+      <BitField start="19" size="1" name="MCEI3" description="Match or Capture Channel 3 Event Input Enable" />
+      <BitField start="20" size="1" name="MCEI4" description="Match or Capture Channel 4 Event Input Enable" />
+      <BitField start="21" size="1" name="MCEI5" description="Match or Capture Channel 5 Event Input Enable" />
+      <BitField start="24" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="25" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+      <BitField start="26" size="1" name="MCEO2" description="Match or Capture Channel 2 Event Output Enable" />
+      <BitField start="27" size="1" name="MCEO3" description="Match or Capture Channel 3 Event Output Enable" />
+      <BitField start="28" size="1" name="MCEO4" description="Match or Capture Channel 4 Event Output Enable" />
+      <BitField start="29" size="1" name="MCEO5" description="Match or Capture Channel 5 Event Output Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="TCC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger Interrupt Enable" />
+      <BitField start="2" size="1" name="CNT" description="Counter Interrupt Enable" />
+      <BitField start="3" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="10" size="1" name="UFS" description="Non-Recoverable Update Fault Interrupt Enable" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault Interrupt Enable" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A Interrupt Enable" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B Interrupt Enable" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 Interrupt Enable" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 Interrupt Enable" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture Channel 2 Interrupt Enable" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture Channel 3 Interrupt Enable" />
+      <BitField start="20" size="1" name="MC4" description="Match or Capture Channel 4 Interrupt Enable" />
+      <BitField start="21" size="1" name="MC5" description="Match or Capture Channel 5 Interrupt Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="TCC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger Interrupt Enable" />
+      <BitField start="2" size="1" name="CNT" description="Counter Interrupt Enable" />
+      <BitField start="3" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="10" size="1" name="UFS" description="Non-Recoverable Update Fault Interrupt Enable" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault Interrupt Enable" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A Interrupt Enable" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B Interrupt Enable" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 Interrupt Enable" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 Interrupt Enable" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture Channel 2 Interrupt Enable" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture Channel 3 Interrupt Enable" />
+      <BitField start="20" size="1" name="MC4" description="Match or Capture Channel 4 Interrupt Enable" />
+      <BitField start="21" size="1" name="MC5" description="Match or Capture Channel 5 Interrupt Enable" />
+    </Register>
+    <Register start="+0x2C" size="4" name="TCC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger" />
+      <BitField start="2" size="1" name="CNT" description="Counter" />
+      <BitField start="3" size="1" name="ERR" description="Error" />
+      <BitField start="10" size="1" name="UFS" description="Non-Recoverable Update Fault" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture 0" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture 1" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture 2" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture 3" />
+      <BitField start="20" size="1" name="MC4" description="Match or Capture 4" />
+      <BitField start="21" size="1" name="MC5" description="Match or Capture 5" />
+    </Register>
+    <Register start="+0x30" size="4" name="TCC_STATUS" access="Read/Write" description="Status" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop" />
+      <BitField start="1" size="1" name="IDX" description="Ramp" />
+      <BitField start="2" size="1" name="UFS" description="Non-recoverable Update Fault State" />
+      <BitField start="3" size="1" name="DFS" description="Non-Recoverable Debug Fault State" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="5" size="1" name="PATTBUFV" description="Pattern Buffer Valid" />
+      <BitField start="7" size="1" name="PERBUFV" description="Period Buffer Valid" />
+      <BitField start="8" size="1" name="FAULTAIN" description="Recoverable Fault A Input" />
+      <BitField start="9" size="1" name="FAULTBIN" description="Recoverable Fault B Input" />
+      <BitField start="10" size="1" name="FAULT0IN" description="Non-Recoverable Fault0 Input" />
+      <BitField start="11" size="1" name="FAULT1IN" description="Non-Recoverable Fault1 Input" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A State" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B State" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 State" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 State" />
+      <BitField start="16" size="1" name="CCBUFV0" description="Compare Channel 0 Buffer Valid" />
+      <BitField start="17" size="1" name="CCBUFV1" description="Compare Channel 1 Buffer Valid" />
+      <BitField start="18" size="1" name="CCBUFV2" description="Compare Channel 2 Buffer Valid" />
+      <BitField start="19" size="1" name="CCBUFV3" description="Compare Channel 3 Buffer Valid" />
+      <BitField start="20" size="1" name="CCBUFV4" description="Compare Channel 4 Buffer Valid" />
+      <BitField start="21" size="1" name="CCBUFV5" description="Compare Channel 5 Buffer Valid" />
+      <BitField start="24" size="1" name="CMP0" description="Compare Channel 0 Value" />
+      <BitField start="25" size="1" name="CMP1" description="Compare Channel 1 Value" />
+      <BitField start="26" size="1" name="CMP2" description="Compare Channel 2 Value" />
+      <BitField start="27" size="1" name="CMP3" description="Compare Channel 3 Value" />
+      <BitField start="28" size="1" name="CMP4" description="Compare Channel 4 Value" />
+      <BitField start="29" size="1" name="CMP5" description="Compare Channel 5 Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH4" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="4" size="20" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH5" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="5" size="19" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH6" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="6" size="18" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x38" size="2" name="TCC_PATT" access="Read/Write" description="Pattern" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PGE0" description="Pattern Generator 0 Output Enable" />
+      <BitField start="1" size="1" name="PGE1" description="Pattern Generator 1 Output Enable" />
+      <BitField start="2" size="1" name="PGE2" description="Pattern Generator 2 Output Enable" />
+      <BitField start="3" size="1" name="PGE3" description="Pattern Generator 3 Output Enable" />
+      <BitField start="4" size="1" name="PGE4" description="Pattern Generator 4 Output Enable" />
+      <BitField start="5" size="1" name="PGE5" description="Pattern Generator 5 Output Enable" />
+      <BitField start="6" size="1" name="PGE6" description="Pattern Generator 6 Output Enable" />
+      <BitField start="7" size="1" name="PGE7" description="Pattern Generator 7 Output Enable" />
+      <BitField start="8" size="1" name="PGV0" description="Pattern Generator 0 Output Value" />
+      <BitField start="9" size="1" name="PGV1" description="Pattern Generator 1 Output Value" />
+      <BitField start="10" size="1" name="PGV2" description="Pattern Generator 2 Output Value" />
+      <BitField start="11" size="1" name="PGV3" description="Pattern Generator 3 Output Value" />
+      <BitField start="12" size="1" name="PGV4" description="Pattern Generator 4 Output Value" />
+      <BitField start="13" size="1" name="PGV5" description="Pattern Generator 5 Output Value" />
+      <BitField start="14" size="1" name="PGV6" description="Pattern Generator 6 Output Value" />
+      <BitField start="15" size="1" name="PGV7" description="Pattern Generator 7 Output Value" />
+    </Register>
+    <Register start="+0x3C" size="4" name="TCC_WAVE" access="Read/Write" description="Waveform Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="WAVEGEN" description="Waveform Generation">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="DSCRITICAL" start="0x4" description="Dual-slope critical" />
+        <Enum name="DSBOTTOM" start="0x5" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO" />
+        <Enum name="DSBOTH" start="0x6" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP" />
+        <Enum name="DSTOP" start="0x7" description="Dual-slope with interrupt/event condition when COUNT reaches TOP" />
+      </BitField>
+      <BitField start="4" size="2" name="RAMP" description="Ramp Mode">
+        <Enum name="RAMP1" start="0x0" description="RAMP1 operation" />
+        <Enum name="RAMP2A" start="0x1" description="Alternative RAMP2 operation" />
+        <Enum name="RAMP2" start="0x2" description="RAMP2 operation" />
+        <Enum name="RAMP2C" start="0x3" description="Critical RAMP2 operation" />
+      </BitField>
+      <BitField start="7" size="1" name="CIPEREN" description="Circular period Enable" />
+      <BitField start="8" size="1" name="CICCEN0" description="Circular Channel 0 Enable" />
+      <BitField start="9" size="1" name="CICCEN1" description="Circular Channel 1 Enable" />
+      <BitField start="10" size="1" name="CICCEN2" description="Circular Channel 2 Enable" />
+      <BitField start="11" size="1" name="CICCEN3" description="Circular Channel 3 Enable" />
+      <BitField start="16" size="1" name="POL0" description="Channel 0 Polarity" />
+      <BitField start="17" size="1" name="POL1" description="Channel 1 Polarity" />
+      <BitField start="18" size="1" name="POL2" description="Channel 2 Polarity" />
+      <BitField start="19" size="1" name="POL3" description="Channel 3 Polarity" />
+      <BitField start="20" size="1" name="POL4" description="Channel 4 Polarity" />
+      <BitField start="21" size="1" name="POL5" description="Channel 5 Polarity" />
+      <BitField start="24" size="1" name="SWAP0" description="Swap DTI Output Pair 0" />
+      <BitField start="25" size="1" name="SWAP1" description="Swap DTI Output Pair 1" />
+      <BitField start="26" size="1" name="SWAP2" description="Swap DTI Output Pair 2" />
+      <BitField start="27" size="1" name="SWAP3" description="Swap DTI Output Pair 3" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH4" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH5" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH6" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x64" size="2" name="TCC_PATTBUF" access="Read/Write" description="Pattern Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PGEB0" description="Pattern Generator 0 Output Enable Buffer" />
+      <BitField start="1" size="1" name="PGEB1" description="Pattern Generator 1 Output Enable Buffer" />
+      <BitField start="2" size="1" name="PGEB2" description="Pattern Generator 2 Output Enable Buffer" />
+      <BitField start="3" size="1" name="PGEB3" description="Pattern Generator 3 Output Enable Buffer" />
+      <BitField start="4" size="1" name="PGEB4" description="Pattern Generator 4 Output Enable Buffer" />
+      <BitField start="5" size="1" name="PGEB5" description="Pattern Generator 5 Output Enable Buffer" />
+      <BitField start="6" size="1" name="PGEB6" description="Pattern Generator 6 Output Enable Buffer" />
+      <BitField start="7" size="1" name="PGEB7" description="Pattern Generator 7 Output Enable Buffer" />
+      <BitField start="8" size="1" name="PGVB0" description="Pattern Generator 0 Output Enable" />
+      <BitField start="9" size="1" name="PGVB1" description="Pattern Generator 1 Output Enable" />
+      <BitField start="10" size="1" name="PGVB2" description="Pattern Generator 2 Output Enable" />
+      <BitField start="11" size="1" name="PGVB3" description="Pattern Generator 3 Output Enable" />
+      <BitField start="12" size="1" name="PGVB4" description="Pattern Generator 4 Output Enable" />
+      <BitField start="13" size="1" name="PGVB5" description="Pattern Generator 5 Output Enable" />
+      <BitField start="14" size="1" name="PGVB6" description="Pattern Generator 6 Output Enable" />
+      <BitField start="15" size="1" name="PGVB7" description="Pattern Generator 7 Output Enable" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF_DITH4" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF_DITH5" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF_DITH6" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TCC4" start="0x43001000" description="Timer Counter Control 4">
+    <Register start="+0x00" size="4" name="TCC_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="5" size="2" name="RESOLUTION" description="Enhanced Resolution">
+        <Enum name="NONE" start="0x0" description="Dithering is disabled" />
+        <Enum name="DITH4" start="0x1" description="Dithering is done every 16 PWM frames" />
+        <Enum name="DITH5" start="0x2" description="Dithering is done every 32 PWM frames" />
+        <Enum name="DITH6" start="0x3" description="Dithering is done every 64 PWM frames" />
+      </BitField>
+      <BitField start="8" size="3" name="PRESCALER" description="Prescaler">
+        <Enum name="DIV1" start="0x0" description="No division" />
+        <Enum name="DIV2" start="0x1" description="Divide by 2" />
+        <Enum name="DIV4" start="0x2" description="Divide by 4" />
+        <Enum name="DIV8" start="0x3" description="Divide by 8" />
+        <Enum name="DIV16" start="0x4" description="Divide by 16" />
+        <Enum name="DIV64" start="0x5" description="Divide by 64" />
+        <Enum name="DIV256" start="0x6" description="Divide by 256" />
+        <Enum name="DIV1024" start="0x7" description="Divide by 1024" />
+      </BitField>
+      <BitField start="11" size="1" name="RUNSTDBY" description="Run in Standby" />
+      <BitField start="12" size="2" name="PRESCSYNC" description="Prescaler and Counter Synchronization Selection">
+        <Enum name="GCLK" start="0x0" description="Reload or reset counter on next GCLK" />
+        <Enum name="PRESC" start="0x1" description="Reload or reset counter on next prescaler clock" />
+        <Enum name="RESYNC" start="0x2" description="Reload or reset counter on next GCLK and reset prescaler counter" />
+      </BitField>
+      <BitField start="14" size="1" name="ALOCK" description="Auto Lock" />
+      <BitField start="15" size="1" name="MSYNC" description="Master Synchronization (only for TCC Slave Instance)" />
+      <BitField start="23" size="1" name="DMAOS" description="DMA One-shot Trigger Mode" />
+      <BitField start="24" size="1" name="CPTEN0" description="Capture Channel 0 Enable" />
+      <BitField start="25" size="1" name="CPTEN1" description="Capture Channel 1 Enable" />
+      <BitField start="26" size="1" name="CPTEN2" description="Capture Channel 2 Enable" />
+      <BitField start="27" size="1" name="CPTEN3" description="Capture Channel 3 Enable" />
+      <BitField start="28" size="1" name="CPTEN4" description="Capture Channel 4 Enable" />
+      <BitField start="29" size="1" name="CPTEN5" description="Capture Channel 5 Enable" />
+    </Register>
+    <Register start="+0x04" size="1" name="TCC_CTRLBCLR" access="Read/Write" description="Control B Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="3" size="2" name="IDXCMD" description="Ramp Index Command">
+        <Enum name="DISABLE" start="0x0" description="Command disabled: Index toggles between cycles A and B" />
+        <Enum name="SET" start="0x1" description="Set index: cycle B will be forced in the next cycle" />
+        <Enum name="CLEAR" start="0x2" description="Clear index: cycle A will be forced in the next cycle" />
+        <Enum name="HOLD" start="0x3" description="Hold index: the next cycle will be the same as the current cycle" />
+      </BitField>
+      <BitField start="5" size="3" name="CMD" description="TCC Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Clear start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update or double buffered registers" />
+        <Enum name="READSYNC" start="0x4" description="Force COUNT read synchronization" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x05" size="1" name="TCC_CTRLBSET" access="Read/Write" description="Control B Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DIR" description="Counter Direction" />
+      <BitField start="1" size="1" name="LUPD" description="Lock Update" />
+      <BitField start="2" size="1" name="ONESHOT" description="One-Shot" />
+      <BitField start="3" size="2" name="IDXCMD" description="Ramp Index Command">
+        <Enum name="DISABLE" start="0x0" description="Command disabled: Index toggles between cycles A and B" />
+        <Enum name="SET" start="0x1" description="Set index: cycle B will be forced in the next cycle" />
+        <Enum name="CLEAR" start="0x2" description="Clear index: cycle A will be forced in the next cycle" />
+        <Enum name="HOLD" start="0x3" description="Hold index: the next cycle will be the same as the current cycle" />
+      </BitField>
+      <BitField start="5" size="3" name="CMD" description="TCC Command">
+        <Enum name="NONE" start="0x0" description="No action" />
+        <Enum name="RETRIGGER" start="0x1" description="Clear start, restart or retrigger" />
+        <Enum name="STOP" start="0x2" description="Force stop" />
+        <Enum name="UPDATE" start="0x3" description="Force update or double buffered registers" />
+        <Enum name="READSYNC" start="0x4" description="Force COUNT read synchronization" />
+        <Enum name="DMAOS" start="0x5" description="One-shot DMA trigger" />
+      </BitField>
+    </Register>
+    <Register start="+0x08" size="4" name="TCC_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Swrst Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Busy" />
+      <BitField start="2" size="1" name="CTRLB" description="Ctrlb Busy" />
+      <BitField start="3" size="1" name="STATUS" description="Status Busy" />
+      <BitField start="4" size="1" name="COUNT" description="Count Busy" />
+      <BitField start="5" size="1" name="PATT" description="Pattern Busy" />
+      <BitField start="6" size="1" name="WAVE" description="Wave Busy" />
+      <BitField start="7" size="1" name="PER" description="Period Busy" />
+      <BitField start="8" size="1" name="CC0" description="Compare Channel 0 Busy" />
+      <BitField start="9" size="1" name="CC1" description="Compare Channel 1 Busy" />
+      <BitField start="10" size="1" name="CC2" description="Compare Channel 2 Busy" />
+      <BitField start="11" size="1" name="CC3" description="Compare Channel 3 Busy" />
+      <BitField start="12" size="1" name="CC4" description="Compare Channel 4 Busy" />
+      <BitField start="13" size="1" name="CC5" description="Compare Channel 5 Busy" />
+    </Register>
+    <Register start="+0x0C" size="4" name="TCC_FCTRLA" access="Read/Write" description="Recoverable Fault A Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SRC" description="Fault A Source">
+        <Enum name="DISABLE" start="0x0" description="Fault input disabled" />
+        <Enum name="ENABLE" start="0x1" description="MCEx (x=0,1) event input" />
+        <Enum name="INVERT" start="0x2" description="Inverted MCEx (x=0,1) event input" />
+        <Enum name="ALTFAULT" start="0x3" description="Alternate fault (A or B) state at the end of the previous period" />
+      </BitField>
+      <BitField start="3" size="1" name="KEEP" description="Fault A Keeper" />
+      <BitField start="4" size="1" name="QUAL" description="Fault A Qualification" />
+      <BitField start="5" size="2" name="BLANK" description="Fault A Blanking Mode">
+        <Enum name="START" start="0x0" description="Blanking applied from start of the ramp" />
+        <Enum name="RISE" start="0x1" description="Blanking applied from rising edge of the output waveform" />
+        <Enum name="FALL" start="0x2" description="Blanking applied from falling edge of the output waveform" />
+        <Enum name="BOTH" start="0x3" description="Blanking applied from each toggle of the output waveform" />
+      </BitField>
+      <BitField start="7" size="1" name="RESTART" description="Fault A Restart" />
+      <BitField start="8" size="2" name="HALT" description="Fault A Halt Mode">
+        <Enum name="DISABLE" start="0x0" description="Halt action disabled" />
+        <Enum name="HW" start="0x1" description="Hardware halt action" />
+        <Enum name="SW" start="0x2" description="Software halt action" />
+        <Enum name="NR" start="0x3" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="10" size="2" name="CHSEL" description="Fault A Capture Channel">
+        <Enum name="CC0" start="0x0" description="Capture value stored in channel 0" />
+        <Enum name="CC1" start="0x1" description="Capture value stored in channel 1" />
+        <Enum name="CC2" start="0x2" description="Capture value stored in channel 2" />
+        <Enum name="CC3" start="0x3" description="Capture value stored in channel 3" />
+      </BitField>
+      <BitField start="12" size="3" name="CAPTURE" description="Fault A Capture Action">
+        <Enum name="DISABLE" start="0x0" description="No capture" />
+        <Enum name="CAPT" start="0x1" description="Capture on fault" />
+        <Enum name="CAPTMIN" start="0x2" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x3" description="Maximum capture" />
+        <Enum name="LOCMIN" start="0x4" description="Minimum local detection" />
+        <Enum name="LOCMAX" start="0x5" description="Maximum local detection" />
+        <Enum name="DERIV0" start="0x6" description="Minimum and maximum local detection" />
+        <Enum name="CAPTMARK" start="0x7" description="Capture with ramp index as MSB value" />
+      </BitField>
+      <BitField start="15" size="1" name="BLANKPRESC" description="Fault A Blanking Prescaler" />
+      <BitField start="16" size="8" name="BLANKVAL" description="Fault A Blanking Time" />
+      <BitField start="24" size="4" name="FILTERVAL" description="Fault A Filter Value" />
+    </Register>
+    <Register start="+0x10" size="4" name="TCC_FCTRLB" access="Read/Write" description="Recoverable Fault B Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="SRC" description="Fault B Source">
+        <Enum name="DISABLE" start="0x0" description="Fault input disabled" />
+        <Enum name="ENABLE" start="0x1" description="MCEx (x=0,1) event input" />
+        <Enum name="INVERT" start="0x2" description="Inverted MCEx (x=0,1) event input" />
+        <Enum name="ALTFAULT" start="0x3" description="Alternate fault (A or B) state at the end of the previous period" />
+      </BitField>
+      <BitField start="3" size="1" name="KEEP" description="Fault B Keeper" />
+      <BitField start="4" size="1" name="QUAL" description="Fault B Qualification" />
+      <BitField start="5" size="2" name="BLANK" description="Fault B Blanking Mode">
+        <Enum name="START" start="0x0" description="Blanking applied from start of the ramp" />
+        <Enum name="RISE" start="0x1" description="Blanking applied from rising edge of the output waveform" />
+        <Enum name="FALL" start="0x2" description="Blanking applied from falling edge of the output waveform" />
+        <Enum name="BOTH" start="0x3" description="Blanking applied from each toggle of the output waveform" />
+      </BitField>
+      <BitField start="7" size="1" name="RESTART" description="Fault B Restart" />
+      <BitField start="8" size="2" name="HALT" description="Fault B Halt Mode">
+        <Enum name="DISABLE" start="0x0" description="Halt action disabled" />
+        <Enum name="HW" start="0x1" description="Hardware halt action" />
+        <Enum name="SW" start="0x2" description="Software halt action" />
+        <Enum name="NR" start="0x3" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="10" size="2" name="CHSEL" description="Fault B Capture Channel">
+        <Enum name="CC0" start="0x0" description="Capture value stored in channel 0" />
+        <Enum name="CC1" start="0x1" description="Capture value stored in channel 1" />
+        <Enum name="CC2" start="0x2" description="Capture value stored in channel 2" />
+        <Enum name="CC3" start="0x3" description="Capture value stored in channel 3" />
+      </BitField>
+      <BitField start="12" size="3" name="CAPTURE" description="Fault B Capture Action">
+        <Enum name="DISABLE" start="0x0" description="No capture" />
+        <Enum name="CAPT" start="0x1" description="Capture on fault" />
+        <Enum name="CAPTMIN" start="0x2" description="Minimum capture" />
+        <Enum name="CAPTMAX" start="0x3" description="Maximum capture" />
+        <Enum name="LOCMIN" start="0x4" description="Minimum local detection" />
+        <Enum name="LOCMAX" start="0x5" description="Maximum local detection" />
+        <Enum name="DERIV0" start="0x6" description="Minimum and maximum local detection" />
+        <Enum name="CAPTMARK" start="0x7" description="Capture with ramp index as MSB value" />
+      </BitField>
+      <BitField start="15" size="1" name="BLANKPRESC" description="Fault B Blanking Prescaler" />
+      <BitField start="16" size="8" name="BLANKVAL" description="Fault B Blanking Time" />
+      <BitField start="24" size="4" name="FILTERVAL" description="Fault B Filter Value" />
+    </Register>
+    <Register start="+0x14" size="4" name="TCC_WEXCTRL" access="Read/Write" description="Waveform Extension Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="OTMX" description="Output Matrix" />
+      <BitField start="8" size="1" name="DTIEN0" description="Dead-time Insertion Generator 0 Enable" />
+      <BitField start="9" size="1" name="DTIEN1" description="Dead-time Insertion Generator 1 Enable" />
+      <BitField start="10" size="1" name="DTIEN2" description="Dead-time Insertion Generator 2 Enable" />
+      <BitField start="11" size="1" name="DTIEN3" description="Dead-time Insertion Generator 3 Enable" />
+      <BitField start="16" size="8" name="DTLS" description="Dead-time Low Side Outputs Value" />
+      <BitField start="24" size="8" name="DTHS" description="Dead-time High Side Outputs Value" />
+    </Register>
+    <Register start="+0x18" size="4" name="TCC_DRVCTRL" access="Read/Write" description="Driver Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="NRE0" description="Non-Recoverable State 0 Output Enable" />
+      <BitField start="1" size="1" name="NRE1" description="Non-Recoverable State 1 Output Enable" />
+      <BitField start="2" size="1" name="NRE2" description="Non-Recoverable State 2 Output Enable" />
+      <BitField start="3" size="1" name="NRE3" description="Non-Recoverable State 3 Output Enable" />
+      <BitField start="4" size="1" name="NRE4" description="Non-Recoverable State 4 Output Enable" />
+      <BitField start="5" size="1" name="NRE5" description="Non-Recoverable State 5 Output Enable" />
+      <BitField start="6" size="1" name="NRE6" description="Non-Recoverable State 6 Output Enable" />
+      <BitField start="7" size="1" name="NRE7" description="Non-Recoverable State 7 Output Enable" />
+      <BitField start="8" size="1" name="NRV0" description="Non-Recoverable State 0 Output Value" />
+      <BitField start="9" size="1" name="NRV1" description="Non-Recoverable State 1 Output Value" />
+      <BitField start="10" size="1" name="NRV2" description="Non-Recoverable State 2 Output Value" />
+      <BitField start="11" size="1" name="NRV3" description="Non-Recoverable State 3 Output Value" />
+      <BitField start="12" size="1" name="NRV4" description="Non-Recoverable State 4 Output Value" />
+      <BitField start="13" size="1" name="NRV5" description="Non-Recoverable State 5 Output Value" />
+      <BitField start="14" size="1" name="NRV6" description="Non-Recoverable State 6 Output Value" />
+      <BitField start="15" size="1" name="NRV7" description="Non-Recoverable State 7 Output Value" />
+      <BitField start="16" size="1" name="INVEN0" description="Output Waveform 0 Inversion" />
+      <BitField start="17" size="1" name="INVEN1" description="Output Waveform 1 Inversion" />
+      <BitField start="18" size="1" name="INVEN2" description="Output Waveform 2 Inversion" />
+      <BitField start="19" size="1" name="INVEN3" description="Output Waveform 3 Inversion" />
+      <BitField start="20" size="1" name="INVEN4" description="Output Waveform 4 Inversion" />
+      <BitField start="21" size="1" name="INVEN5" description="Output Waveform 5 Inversion" />
+      <BitField start="22" size="1" name="INVEN6" description="Output Waveform 6 Inversion" />
+      <BitField start="23" size="1" name="INVEN7" description="Output Waveform 7 Inversion" />
+      <BitField start="24" size="4" name="FILTERVAL0" description="Non-Recoverable Fault Input 0 Filter Value" />
+      <BitField start="28" size="4" name="FILTERVAL1" description="Non-Recoverable Fault Input 1 Filter Value" />
+    </Register>
+    <Register start="+0x1E" size="1" name="TCC_DBGCTRL" access="Read/Write" description="Debug Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DBGRUN" description="Debug Running Mode" />
+      <BitField start="2" size="1" name="FDDBD" description="Fault Detection on Debug Break Detection" />
+    </Register>
+    <Register start="+0x20" size="4" name="TCC_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EVACT0" description="Timer/counter Input Event0 Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Start, restart or re-trigger counter on event" />
+        <Enum name="COUNTEV" start="0x2" description="Count on event" />
+        <Enum name="START" start="0x3" description="Start counter on event" />
+        <Enum name="INC" start="0x4" description="Increment counter on event" />
+        <Enum name="COUNT" start="0x5" description="Count on active state of asynchronous event" />
+        <Enum name="STAMP" start="0x6" description="Stamp capture" />
+        <Enum name="FAULT" start="0x7" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="3" size="3" name="EVACT1" description="Timer/counter Input Event1 Action">
+        <Enum name="OFF" start="0x0" description="Event action disabled" />
+        <Enum name="RETRIGGER" start="0x1" description="Re-trigger counter on event" />
+        <Enum name="DIR" start="0x2" description="Direction control" />
+        <Enum name="STOP" start="0x3" description="Stop counter on event" />
+        <Enum name="DEC" start="0x4" description="Decrement counter on event" />
+        <Enum name="PPW" start="0x5" description="Period capture value in CC0 register, pulse width capture value in CC1 register" />
+        <Enum name="PWP" start="0x6" description="Period capture value in CC1 register, pulse width capture value in CC0 register" />
+        <Enum name="FAULT" start="0x7" description="Non-recoverable fault" />
+      </BitField>
+      <BitField start="6" size="2" name="CNTSEL" description="Timer/counter Output Event Mode">
+        <Enum name="START" start="0x0" description="An interrupt/event is generated when a new counter cycle starts" />
+        <Enum name="END" start="0x1" description="An interrupt/event is generated when a counter cycle ends" />
+        <Enum name="BETWEEN" start="0x2" description="An interrupt/event is generated when a counter cycle ends, except for the first and last cycles" />
+        <Enum name="BOUNDARY" start="0x3" description="An interrupt/event is generated when a new counter cycle starts or a counter cycle ends" />
+      </BitField>
+      <BitField start="8" size="1" name="OVFEO" description="Overflow/Underflow Output Event Enable" />
+      <BitField start="9" size="1" name="TRGEO" description="Retrigger Output Event Enable" />
+      <BitField start="10" size="1" name="CNTEO" description="Timer/counter Output Event Enable" />
+      <BitField start="12" size="1" name="TCINV0" description="Inverted Event 0 Input Enable" />
+      <BitField start="13" size="1" name="TCINV1" description="Inverted Event 1 Input Enable" />
+      <BitField start="14" size="1" name="TCEI0" description="Timer/counter Event 0 Input Enable" />
+      <BitField start="15" size="1" name="TCEI1" description="Timer/counter Event 1 Input Enable" />
+      <BitField start="16" size="1" name="MCEI0" description="Match or Capture Channel 0 Event Input Enable" />
+      <BitField start="17" size="1" name="MCEI1" description="Match or Capture Channel 1 Event Input Enable" />
+      <BitField start="18" size="1" name="MCEI2" description="Match or Capture Channel 2 Event Input Enable" />
+      <BitField start="19" size="1" name="MCEI3" description="Match or Capture Channel 3 Event Input Enable" />
+      <BitField start="20" size="1" name="MCEI4" description="Match or Capture Channel 4 Event Input Enable" />
+      <BitField start="21" size="1" name="MCEI5" description="Match or Capture Channel 5 Event Input Enable" />
+      <BitField start="24" size="1" name="MCEO0" description="Match or Capture Channel 0 Event Output Enable" />
+      <BitField start="25" size="1" name="MCEO1" description="Match or Capture Channel 1 Event Output Enable" />
+      <BitField start="26" size="1" name="MCEO2" description="Match or Capture Channel 2 Event Output Enable" />
+      <BitField start="27" size="1" name="MCEO3" description="Match or Capture Channel 3 Event Output Enable" />
+      <BitField start="28" size="1" name="MCEO4" description="Match or Capture Channel 4 Event Output Enable" />
+      <BitField start="29" size="1" name="MCEO5" description="Match or Capture Channel 5 Event Output Enable" />
+    </Register>
+    <Register start="+0x24" size="4" name="TCC_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger Interrupt Enable" />
+      <BitField start="2" size="1" name="CNT" description="Counter Interrupt Enable" />
+      <BitField start="3" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="10" size="1" name="UFS" description="Non-Recoverable Update Fault Interrupt Enable" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault Interrupt Enable" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A Interrupt Enable" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B Interrupt Enable" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 Interrupt Enable" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 Interrupt Enable" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture Channel 2 Interrupt Enable" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture Channel 3 Interrupt Enable" />
+      <BitField start="20" size="1" name="MC4" description="Match or Capture Channel 4 Interrupt Enable" />
+      <BitField start="21" size="1" name="MC5" description="Match or Capture Channel 5 Interrupt Enable" />
+    </Register>
+    <Register start="+0x28" size="4" name="TCC_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow Interrupt Enable" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger Interrupt Enable" />
+      <BitField start="2" size="1" name="CNT" description="Counter Interrupt Enable" />
+      <BitField start="3" size="1" name="ERR" description="Error Interrupt Enable" />
+      <BitField start="10" size="1" name="UFS" description="Non-Recoverable Update Fault Interrupt Enable" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault Interrupt Enable" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A Interrupt Enable" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B Interrupt Enable" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 Interrupt Enable" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 Interrupt Enable" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture Channel 0 Interrupt Enable" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture Channel 1 Interrupt Enable" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture Channel 2 Interrupt Enable" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture Channel 3 Interrupt Enable" />
+      <BitField start="20" size="1" name="MC4" description="Match or Capture Channel 4 Interrupt Enable" />
+      <BitField start="21" size="1" name="MC5" description="Match or Capture Channel 5 Interrupt Enable" />
+    </Register>
+    <Register start="+0x2C" size="4" name="TCC_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="OVF" description="Overflow" />
+      <BitField start="1" size="1" name="TRG" description="Retrigger" />
+      <BitField start="2" size="1" name="CNT" description="Counter" />
+      <BitField start="3" size="1" name="ERR" description="Error" />
+      <BitField start="10" size="1" name="UFS" description="Non-Recoverable Update Fault" />
+      <BitField start="11" size="1" name="DFS" description="Non-Recoverable Debug Fault" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1" />
+      <BitField start="16" size="1" name="MC0" description="Match or Capture 0" />
+      <BitField start="17" size="1" name="MC1" description="Match or Capture 1" />
+      <BitField start="18" size="1" name="MC2" description="Match or Capture 2" />
+      <BitField start="19" size="1" name="MC3" description="Match or Capture 3" />
+      <BitField start="20" size="1" name="MC4" description="Match or Capture 4" />
+      <BitField start="21" size="1" name="MC5" description="Match or Capture 5" />
+    </Register>
+    <Register start="+0x30" size="4" name="TCC_STATUS" access="Read/Write" description="Status" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="STOP" description="Stop" />
+      <BitField start="1" size="1" name="IDX" description="Ramp" />
+      <BitField start="2" size="1" name="UFS" description="Non-recoverable Update Fault State" />
+      <BitField start="3" size="1" name="DFS" description="Non-Recoverable Debug Fault State" />
+      <BitField start="4" size="1" name="SLAVE" description="Slave" />
+      <BitField start="5" size="1" name="PATTBUFV" description="Pattern Buffer Valid" />
+      <BitField start="7" size="1" name="PERBUFV" description="Period Buffer Valid" />
+      <BitField start="8" size="1" name="FAULTAIN" description="Recoverable Fault A Input" />
+      <BitField start="9" size="1" name="FAULTBIN" description="Recoverable Fault B Input" />
+      <BitField start="10" size="1" name="FAULT0IN" description="Non-Recoverable Fault0 Input" />
+      <BitField start="11" size="1" name="FAULT1IN" description="Non-Recoverable Fault1 Input" />
+      <BitField start="12" size="1" name="FAULTA" description="Recoverable Fault A State" />
+      <BitField start="13" size="1" name="FAULTB" description="Recoverable Fault B State" />
+      <BitField start="14" size="1" name="FAULT0" description="Non-Recoverable Fault 0 State" />
+      <BitField start="15" size="1" name="FAULT1" description="Non-Recoverable Fault 1 State" />
+      <BitField start="16" size="1" name="CCBUFV0" description="Compare Channel 0 Buffer Valid" />
+      <BitField start="17" size="1" name="CCBUFV1" description="Compare Channel 1 Buffer Valid" />
+      <BitField start="18" size="1" name="CCBUFV2" description="Compare Channel 2 Buffer Valid" />
+      <BitField start="19" size="1" name="CCBUFV3" description="Compare Channel 3 Buffer Valid" />
+      <BitField start="20" size="1" name="CCBUFV4" description="Compare Channel 4 Buffer Valid" />
+      <BitField start="21" size="1" name="CCBUFV5" description="Compare Channel 5 Buffer Valid" />
+      <BitField start="24" size="1" name="CMP0" description="Compare Channel 0 Value" />
+      <BitField start="25" size="1" name="CMP1" description="Compare Channel 1 Value" />
+      <BitField start="26" size="1" name="CMP2" description="Compare Channel 2 Value" />
+      <BitField start="27" size="1" name="CMP3" description="Compare Channel 3 Value" />
+      <BitField start="28" size="1" name="CMP4" description="Compare Channel 4 Value" />
+      <BitField start="29" size="1" name="CMP5" description="Compare Channel 5 Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH4" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="4" size="20" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH5" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="5" size="19" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x34" size="4" name="TCC_COUNT_DITH6" access="Read/Write" description="Count" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="6" size="18" name="COUNT" description="Counter Value" />
+    </Register>
+    <Register start="+0x38" size="2" name="TCC_PATT" access="Read/Write" description="Pattern" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PGE0" description="Pattern Generator 0 Output Enable" />
+      <BitField start="1" size="1" name="PGE1" description="Pattern Generator 1 Output Enable" />
+      <BitField start="2" size="1" name="PGE2" description="Pattern Generator 2 Output Enable" />
+      <BitField start="3" size="1" name="PGE3" description="Pattern Generator 3 Output Enable" />
+      <BitField start="4" size="1" name="PGE4" description="Pattern Generator 4 Output Enable" />
+      <BitField start="5" size="1" name="PGE5" description="Pattern Generator 5 Output Enable" />
+      <BitField start="6" size="1" name="PGE6" description="Pattern Generator 6 Output Enable" />
+      <BitField start="7" size="1" name="PGE7" description="Pattern Generator 7 Output Enable" />
+      <BitField start="8" size="1" name="PGV0" description="Pattern Generator 0 Output Value" />
+      <BitField start="9" size="1" name="PGV1" description="Pattern Generator 1 Output Value" />
+      <BitField start="10" size="1" name="PGV2" description="Pattern Generator 2 Output Value" />
+      <BitField start="11" size="1" name="PGV3" description="Pattern Generator 3 Output Value" />
+      <BitField start="12" size="1" name="PGV4" description="Pattern Generator 4 Output Value" />
+      <BitField start="13" size="1" name="PGV5" description="Pattern Generator 5 Output Value" />
+      <BitField start="14" size="1" name="PGV6" description="Pattern Generator 6 Output Value" />
+      <BitField start="15" size="1" name="PGV7" description="Pattern Generator 7 Output Value" />
+    </Register>
+    <Register start="+0x3C" size="4" name="TCC_WAVE" access="Read/Write" description="Waveform Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="WAVEGEN" description="Waveform Generation">
+        <Enum name="NFRQ" start="0x0" description="Normal frequency" />
+        <Enum name="MFRQ" start="0x1" description="Match frequency" />
+        <Enum name="NPWM" start="0x2" description="Normal PWM" />
+        <Enum name="DSCRITICAL" start="0x4" description="Dual-slope critical" />
+        <Enum name="DSBOTTOM" start="0x5" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO" />
+        <Enum name="DSBOTH" start="0x6" description="Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP" />
+        <Enum name="DSTOP" start="0x7" description="Dual-slope with interrupt/event condition when COUNT reaches TOP" />
+      </BitField>
+      <BitField start="4" size="2" name="RAMP" description="Ramp Mode">
+        <Enum name="RAMP1" start="0x0" description="RAMP1 operation" />
+        <Enum name="RAMP2A" start="0x1" description="Alternative RAMP2 operation" />
+        <Enum name="RAMP2" start="0x2" description="RAMP2 operation" />
+        <Enum name="RAMP2C" start="0x3" description="Critical RAMP2 operation" />
+      </BitField>
+      <BitField start="7" size="1" name="CIPEREN" description="Circular period Enable" />
+      <BitField start="8" size="1" name="CICCEN0" description="Circular Channel 0 Enable" />
+      <BitField start="9" size="1" name="CICCEN1" description="Circular Channel 1 Enable" />
+      <BitField start="10" size="1" name="CICCEN2" description="Circular Channel 2 Enable" />
+      <BitField start="11" size="1" name="CICCEN3" description="Circular Channel 3 Enable" />
+      <BitField start="16" size="1" name="POL0" description="Channel 0 Polarity" />
+      <BitField start="17" size="1" name="POL1" description="Channel 1 Polarity" />
+      <BitField start="18" size="1" name="POL2" description="Channel 2 Polarity" />
+      <BitField start="19" size="1" name="POL3" description="Channel 3 Polarity" />
+      <BitField start="20" size="1" name="POL4" description="Channel 4 Polarity" />
+      <BitField start="21" size="1" name="POL5" description="Channel 5 Polarity" />
+      <BitField start="24" size="1" name="SWAP0" description="Swap DTI Output Pair 0" />
+      <BitField start="25" size="1" name="SWAP1" description="Swap DTI Output Pair 1" />
+      <BitField start="26" size="1" name="SWAP2" description="Swap DTI Output Pair 2" />
+      <BitField start="27" size="1" name="SWAP3" description="Swap DTI Output Pair 3" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH4" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH5" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x40" size="4" name="TCC_PER_DITH6" access="Read/Write" description="Period" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="PER" description="Period Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5_DITH4" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="4" size="20" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5_DITH5" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="5" size="19" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+0" size="4" name="TCC_CC0_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+4" size="4" name="TCC_CC1_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+8" size="4" name="TCC_CC2_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+12" size="4" name="TCC_CC3_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+16" size="4" name="TCC_CC4_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x44+20" size="4" name="TCC_CC5_DITH6" access="Read/Write" description="Compare and Capture" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHER" description="Dithering Cycle Number" />
+      <BitField start="6" size="18" name="CC" description="Channel Compare/Capture Value" />
+    </Register>
+    <Register start="+0x64" size="2" name="TCC_PATTBUF" access="Read/Write" description="Pattern Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="PGEB0" description="Pattern Generator 0 Output Enable Buffer" />
+      <BitField start="1" size="1" name="PGEB1" description="Pattern Generator 1 Output Enable Buffer" />
+      <BitField start="2" size="1" name="PGEB2" description="Pattern Generator 2 Output Enable Buffer" />
+      <BitField start="3" size="1" name="PGEB3" description="Pattern Generator 3 Output Enable Buffer" />
+      <BitField start="4" size="1" name="PGEB4" description="Pattern Generator 4 Output Enable Buffer" />
+      <BitField start="5" size="1" name="PGEB5" description="Pattern Generator 5 Output Enable Buffer" />
+      <BitField start="6" size="1" name="PGEB6" description="Pattern Generator 6 Output Enable Buffer" />
+      <BitField start="7" size="1" name="PGEB7" description="Pattern Generator 7 Output Enable Buffer" />
+      <BitField start="8" size="1" name="PGVB0" description="Pattern Generator 0 Output Enable" />
+      <BitField start="9" size="1" name="PGVB1" description="Pattern Generator 1 Output Enable" />
+      <BitField start="10" size="1" name="PGVB2" description="Pattern Generator 2 Output Enable" />
+      <BitField start="11" size="1" name="PGVB3" description="Pattern Generator 3 Output Enable" />
+      <BitField start="12" size="1" name="PGVB4" description="Pattern Generator 4 Output Enable" />
+      <BitField start="13" size="1" name="PGVB5" description="Pattern Generator 5 Output Enable" />
+      <BitField start="14" size="1" name="PGVB6" description="Pattern Generator 6 Output Enable" />
+      <BitField start="15" size="1" name="PGVB7" description="Pattern Generator 7 Output Enable" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF_DITH4" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="4" size="20" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF_DITH5" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x6C" size="4" name="TCC_PERBUF_DITH6" access="Read/Write" description="Period Buffer" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="PERBUF" description="Period Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="24" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5_DITH4" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+      <BitField start="4" size="20" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5_DITH5" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="5" size="19" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+0" size="4" name="TCC_CCBUF0_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+4" size="4" name="TCC_CCBUF1_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+8" size="4" name="TCC_CCBUF2_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+12" size="4" name="TCC_CCBUF3_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+16" size="4" name="TCC_CCBUF4_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+    <Register start="+0x70+20" size="4" name="TCC_CCBUF5_DITH6" access="Read/Write" description="Compare and Capture Buffer" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="6" name="DITHERBUF" description="Dithering Buffer Cycle Number" />
+      <BitField start="6" size="18" name="CCBUF" description="Channel Compare/Capture Buffer Value" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="TRNG" start="0x42002800" description="True Random Generator">
+    <Register start="+0x00" size="1" name="TRNG_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="6" size="1" name="RUNSTDBY" description="Run in Standby" />
+    </Register>
+    <Register start="+0x04" size="1" name="TRNG_EVCTRL" access="Read/Write" description="Event Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DATARDYEO" description="Data Ready Event Output" />
+    </Register>
+    <Register start="+0x08" size="1" name="TRNG_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DATARDY" description="Data Ready Interrupt Enable" />
+    </Register>
+    <Register start="+0x09" size="1" name="TRNG_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DATARDY" description="Data Ready Interrupt Enable" />
+    </Register>
+    <Register start="+0x0A" size="1" name="TRNG_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DATARDY" description="Data Ready Interrupt Flag" />
+    </Register>
+    <Register start="+0x20" size="4" name="TRNG_DATA" access="ReadOnly" description="Output Data" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DATA" description="Output Data" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="USB (DEVICE)" start="0x41000000" description="Universal Serial Bus">
+    <Register start="+0x000" size="1" name="USB_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="1" name="RUNSTDBY" description="Run in Standby Mode" />
+      <BitField start="7" size="1" name="MODE" description="Operating Mode">
+        <Enum name="DEVICE" start="0x0" description="Device Mode" />
+        <Enum name="HOST" start="0x1" description="Host Mode" />
+      </BitField>
+    </Register>
+    <Register start="+0x002" size="1" name="USB_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Synchronization Busy" />
+    </Register>
+    <Register start="+0x003" size="1" name="USB_QOSCTRL" access="Read/Write" description="USB Quality Of Service" reset_value="0x0F" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CQOS" description="Configuration Quality of Service" />
+      <BitField start="2" size="2" name="DQOS" description="Data Quality of Service" />
+    </Register>
+    <Register start="+0x008" size="2" name="USB_CTRLB" access="Read/Write" description="DEVICE Control B" reset_value="0x0001" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DETACH" description="Detach" />
+      <BitField start="1" size="1" name="UPRSM" description="Upstream Resume" />
+      <BitField start="2" size="2" name="SPDCONF" description="Speed Configuration">
+        <Enum name="FS" start="0x0" description="FS : Full Speed" />
+        <Enum name="LS" start="0x1" description="LS : Low Speed" />
+        <Enum name="HS" start="0x2" description="HS : High Speed capable" />
+        <Enum name="HSTM" start="0x3" description="HSTM: High Speed Test Mode (force high-speed mode for test mode)" />
+      </BitField>
+      <BitField start="4" size="1" name="NREPLY" description="No Reply" />
+      <BitField start="5" size="1" name="TSTJ" description="Test mode J" />
+      <BitField start="6" size="1" name="TSTK" description="Test mode K" />
+      <BitField start="7" size="1" name="TSTPCKT" description="Test packet mode" />
+      <BitField start="8" size="1" name="OPMODE2" description="Specific Operational Mode" />
+      <BitField start="9" size="1" name="GNAK" description="Global NAK" />
+      <BitField start="10" size="2" name="LPMHDSK" description="Link Power Management Handshake">
+        <Enum name="NO" start="0x0" description="No handshake. LPM is not supported" />
+        <Enum name="ACK" start="0x1" description="ACK" />
+        <Enum name="NYET" start="0x2" description="NYET" />
+        <Enum name="STALL" start="0x3" description="STALL" />
+      </BitField>
+    </Register>
+    <Register start="+0x00A" size="1" name="USB_DADD" access="Read/Write" description="DEVICE Device Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="DADD" description="Device Address" />
+      <BitField start="7" size="1" name="ADDEN" description="Device Address Enable" />
+    </Register>
+    <Register start="+0x00C" size="1" name="USB_STATUS" access="ReadOnly" description="DEVICE Status" reset_value="0x40" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="2" name="SPEED" description="Speed Status">
+        <Enum name="FS" start="0x0" description="Full-speed mode" />
+        <Enum name="LS" start="0x1" description="Low-speed mode" />
+        <Enum name="HS" start="0x2" description="High-speed mode" />
+      </BitField>
+      <BitField start="6" size="2" name="LINESTATE" description="USB Line State Status">
+        <Enum name="0" start="0x0" description="SE0/RESET" />
+        <Enum name="1" start="0x1" description="FS-J or LS-K State" />
+        <Enum name="2" start="0x2" description="FS-K or LS-J State" />
+      </BitField>
+    </Register>
+    <Register start="+0x00D" size="1" name="USB_FSMSTATUS" access="ReadOnly" description="Finite State Machine Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="FSMSTATE" description="Fine State Machine Status">
+        <Enum name="OFF" start="0x1" description="OFF (L3). It corresponds to the powered-off, disconnected, and disabled state" />
+        <Enum name="ON" start="0x2" description="ON (L0). It corresponds to the Idle and Active states" />
+        <Enum name="SUSPEND" start="0x4" description="SUSPEND (L2)" />
+        <Enum name="SLEEP" start="0x8" description="SLEEP (L1)" />
+        <Enum name="DNRESUME" start="0x10" description="DNRESUME. Down Stream Resume." />
+        <Enum name="UPRESUME" start="0x20" description="UPRESUME. Up Stream Resume." />
+        <Enum name="RESET" start="0x40" description="RESET. USB lines Reset." />
+      </BitField>
+    </Register>
+    <Register start="+0x010" size="2" name="USB_FNUM" access="ReadOnly" description="DEVICE Device Frame Number" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="MFNUM" description="Micro Frame Number" />
+      <BitField start="3" size="11" name="FNUM" description="Frame Number" />
+      <BitField start="15" size="1" name="FNCERR" description="Frame Number CRC Error" />
+    </Register>
+    <Register start="+0x014" size="2" name="USB_INTENCLR" access="Read/Write" description="DEVICE Device Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SUSPEND" description="Suspend Interrupt Enable" />
+      <BitField start="1" size="1" name="MSOF" description="Micro Start of Frame Interrupt Enable in High Speed Mode" />
+      <BitField start="2" size="1" name="SOF" description="Start Of Frame Interrupt Enable" />
+      <BitField start="3" size="1" name="EORST" description="End of Reset Interrupt Enable" />
+      <BitField start="4" size="1" name="WAKEUP" description="Wake Up Interrupt Enable" />
+      <BitField start="5" size="1" name="EORSM" description="End Of Resume Interrupt Enable" />
+      <BitField start="6" size="1" name="UPRSM" description="Upstream Resume Interrupt Enable" />
+      <BitField start="7" size="1" name="RAMACER" description="Ram Access Interrupt Enable" />
+      <BitField start="8" size="1" name="LPMNYET" description="Link Power Management Not Yet Interrupt Enable" />
+      <BitField start="9" size="1" name="LPMSUSP" description="Link Power Management Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x018" size="2" name="USB_INTENSET" access="Read/Write" description="DEVICE Device Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SUSPEND" description="Suspend Interrupt Enable" />
+      <BitField start="1" size="1" name="MSOF" description="Micro Start of Frame Interrupt Enable in High Speed Mode" />
+      <BitField start="2" size="1" name="SOF" description="Start Of Frame Interrupt Enable" />
+      <BitField start="3" size="1" name="EORST" description="End of Reset Interrupt Enable" />
+      <BitField start="4" size="1" name="WAKEUP" description="Wake Up Interrupt Enable" />
+      <BitField start="5" size="1" name="EORSM" description="End Of Resume Interrupt Enable" />
+      <BitField start="6" size="1" name="UPRSM" description="Upstream Resume Interrupt Enable" />
+      <BitField start="7" size="1" name="RAMACER" description="Ram Access Interrupt Enable" />
+      <BitField start="8" size="1" name="LPMNYET" description="Link Power Management Not Yet Interrupt Enable" />
+      <BitField start="9" size="1" name="LPMSUSP" description="Link Power Management Suspend Interrupt Enable" />
+    </Register>
+    <Register start="+0x01C" size="2" name="USB_INTFLAG" access="Read/Write" description="DEVICE Device Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SUSPEND" description="Suspend" />
+      <BitField start="1" size="1" name="MSOF" description="Micro Start of Frame in High Speed Mode" />
+      <BitField start="2" size="1" name="SOF" description="Start Of Frame" />
+      <BitField start="3" size="1" name="EORST" description="End of Reset" />
+      <BitField start="4" size="1" name="WAKEUP" description="Wake Up" />
+      <BitField start="5" size="1" name="EORSM" description="End Of Resume" />
+      <BitField start="6" size="1" name="UPRSM" description="Upstream Resume" />
+      <BitField start="7" size="1" name="RAMACER" description="Ram Access" />
+      <BitField start="8" size="1" name="LPMNYET" description="Link Power Management Not Yet" />
+      <BitField start="9" size="1" name="LPMSUSP" description="Link Power Management Suspend" />
+    </Register>
+    <Register start="+0x020" size="2" name="USB_EPINTSMRY" access="ReadOnly" description="DEVICE End Point Interrupt Summary" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EPINT0" description="End Point 0 Interrupt" />
+      <BitField start="1" size="1" name="EPINT1" description="End Point 1 Interrupt" />
+      <BitField start="2" size="1" name="EPINT2" description="End Point 2 Interrupt" />
+      <BitField start="3" size="1" name="EPINT3" description="End Point 3 Interrupt" />
+      <BitField start="4" size="1" name="EPINT4" description="End Point 4 Interrupt" />
+      <BitField start="5" size="1" name="EPINT5" description="End Point 5 Interrupt" />
+      <BitField start="6" size="1" name="EPINT6" description="End Point 6 Interrupt" />
+      <BitField start="7" size="1" name="EPINT7" description="End Point 7 Interrupt" />
+    </Register>
+    <Register start="+0x024" size="4" name="USB_DESCADD" access="Read/Write" description="Descriptor Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DESCADD" description="Descriptor Address Value" />
+    </Register>
+    <Register start="+0x028" size="2" name="USB_PADCAL" access="Read/Write" description="USB PAD Calibration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="TRANSP" description="USB Pad Transp calibration" />
+      <BitField start="6" size="5" name="TRANSN" description="USB Pad Transn calibration" />
+      <BitField start="12" size="3" name="TRIM" description="USB Pad Trim calibration" />
+    </Register>
+    <Register start="+0x100+0" size="1" name="USB_EPCFG0" access="Read/Write" description="DEVICE End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EPTYPE0" description="End Point Type0" />
+      <BitField start="4" size="3" name="EPTYPE1" description="End Point Type1" />
+      <BitField start="7" size="1" name="NYETDIS" description="NYET Token Disable" />
+    </Register>
+    <Register start="+0x100+32" size="1" name="USB_EPCFG1" access="Read/Write" description="DEVICE End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EPTYPE0" description="End Point Type0" />
+      <BitField start="4" size="3" name="EPTYPE1" description="End Point Type1" />
+      <BitField start="7" size="1" name="NYETDIS" description="NYET Token Disable" />
+    </Register>
+    <Register start="+0x100+64" size="1" name="USB_EPCFG2" access="Read/Write" description="DEVICE End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EPTYPE0" description="End Point Type0" />
+      <BitField start="4" size="3" name="EPTYPE1" description="End Point Type1" />
+      <BitField start="7" size="1" name="NYETDIS" description="NYET Token Disable" />
+    </Register>
+    <Register start="+0x100+96" size="1" name="USB_EPCFG3" access="Read/Write" description="DEVICE End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EPTYPE0" description="End Point Type0" />
+      <BitField start="4" size="3" name="EPTYPE1" description="End Point Type1" />
+      <BitField start="7" size="1" name="NYETDIS" description="NYET Token Disable" />
+    </Register>
+    <Register start="+0x100+128" size="1" name="USB_EPCFG4" access="Read/Write" description="DEVICE End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EPTYPE0" description="End Point Type0" />
+      <BitField start="4" size="3" name="EPTYPE1" description="End Point Type1" />
+      <BitField start="7" size="1" name="NYETDIS" description="NYET Token Disable" />
+    </Register>
+    <Register start="+0x100+160" size="1" name="USB_EPCFG5" access="Read/Write" description="DEVICE End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EPTYPE0" description="End Point Type0" />
+      <BitField start="4" size="3" name="EPTYPE1" description="End Point Type1" />
+      <BitField start="7" size="1" name="NYETDIS" description="NYET Token Disable" />
+    </Register>
+    <Register start="+0x100+192" size="1" name="USB_EPCFG6" access="Read/Write" description="DEVICE End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EPTYPE0" description="End Point Type0" />
+      <BitField start="4" size="3" name="EPTYPE1" description="End Point Type1" />
+      <BitField start="7" size="1" name="NYETDIS" description="NYET Token Disable" />
+    </Register>
+    <Register start="+0x100+224" size="1" name="USB_EPCFG7" access="Read/Write" description="DEVICE End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="EPTYPE0" description="End Point Type0" />
+      <BitField start="4" size="3" name="EPTYPE1" description="End Point Type1" />
+      <BitField start="7" size="1" name="NYETDIS" description="NYET Token Disable" />
+    </Register>
+    <Register start="+0x104+0" size="1" name="USB_EPSTATUSCLR0" access="WriteOnly" description="DEVICE End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Clear" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Clear" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Clear" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Clear" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+32" size="1" name="USB_EPSTATUSCLR1" access="WriteOnly" description="DEVICE End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Clear" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Clear" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Clear" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Clear" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+64" size="1" name="USB_EPSTATUSCLR2" access="WriteOnly" description="DEVICE End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Clear" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Clear" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Clear" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Clear" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+96" size="1" name="USB_EPSTATUSCLR3" access="WriteOnly" description="DEVICE End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Clear" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Clear" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Clear" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Clear" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+128" size="1" name="USB_EPSTATUSCLR4" access="WriteOnly" description="DEVICE End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Clear" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Clear" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Clear" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Clear" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+160" size="1" name="USB_EPSTATUSCLR5" access="WriteOnly" description="DEVICE End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Clear" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Clear" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Clear" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Clear" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+192" size="1" name="USB_EPSTATUSCLR6" access="WriteOnly" description="DEVICE End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Clear" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Clear" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Clear" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Clear" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+224" size="1" name="USB_EPSTATUSCLR7" access="WriteOnly" description="DEVICE End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Clear" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Clear" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Clear" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Clear" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x105+0" size="1" name="USB_EPSTATUSSET0" access="WriteOnly" description="DEVICE End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Set" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Set" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+32" size="1" name="USB_EPSTATUSSET1" access="WriteOnly" description="DEVICE End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Set" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Set" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+64" size="1" name="USB_EPSTATUSSET2" access="WriteOnly" description="DEVICE End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Set" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Set" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+96" size="1" name="USB_EPSTATUSSET3" access="WriteOnly" description="DEVICE End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Set" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Set" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+128" size="1" name="USB_EPSTATUSSET4" access="WriteOnly" description="DEVICE End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Set" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Set" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+160" size="1" name="USB_EPSTATUSSET5" access="WriteOnly" description="DEVICE End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Set" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Set" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+192" size="1" name="USB_EPSTATUSSET6" access="WriteOnly" description="DEVICE End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Set" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Set" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+224" size="1" name="USB_EPSTATUSSET7" access="WriteOnly" description="DEVICE End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle OUT Set" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle IN Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request Set" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x106+0" size="1" name="USB_EPSTATUS0" access="ReadOnly" description="DEVICE End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle Out" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle In" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+32" size="1" name="USB_EPSTATUS1" access="ReadOnly" description="DEVICE End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle Out" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle In" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+64" size="1" name="USB_EPSTATUS2" access="ReadOnly" description="DEVICE End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle Out" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle In" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+96" size="1" name="USB_EPSTATUS3" access="ReadOnly" description="DEVICE End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle Out" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle In" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+128" size="1" name="USB_EPSTATUS4" access="ReadOnly" description="DEVICE End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle Out" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle In" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+160" size="1" name="USB_EPSTATUS5" access="ReadOnly" description="DEVICE End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle Out" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle In" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+192" size="1" name="USB_EPSTATUS6" access="ReadOnly" description="DEVICE End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle Out" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle In" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+224" size="1" name="USB_EPSTATUS7" access="ReadOnly" description="DEVICE End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGLOUT" description="Data Toggle Out" />
+      <BitField start="1" size="1" name="DTGLIN" description="Data Toggle In" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="STALLRQ0" description="Stall 0 Request" />
+      <BitField start="5" size="1" name="STALLRQ1" description="Stall 1 Request" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x107+0" size="1" name="USB_EPINTFLAG0" access="Read/Write" description="DEVICE End Point Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out" />
+    </Register>
+    <Register start="+0x107+32" size="1" name="USB_EPINTFLAG1" access="Read/Write" description="DEVICE End Point Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out" />
+    </Register>
+    <Register start="+0x107+64" size="1" name="USB_EPINTFLAG2" access="Read/Write" description="DEVICE End Point Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out" />
+    </Register>
+    <Register start="+0x107+96" size="1" name="USB_EPINTFLAG3" access="Read/Write" description="DEVICE End Point Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out" />
+    </Register>
+    <Register start="+0x107+128" size="1" name="USB_EPINTFLAG4" access="Read/Write" description="DEVICE End Point Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out" />
+    </Register>
+    <Register start="+0x107+160" size="1" name="USB_EPINTFLAG5" access="Read/Write" description="DEVICE End Point Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out" />
+    </Register>
+    <Register start="+0x107+192" size="1" name="USB_EPINTFLAG6" access="Read/Write" description="DEVICE End Point Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out" />
+    </Register>
+    <Register start="+0x107+224" size="1" name="USB_EPINTFLAG7" access="Read/Write" description="DEVICE End Point Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out" />
+    </Register>
+    <Register start="+0x108+0" size="1" name="USB_EPINTENCLR0" access="Read/Write" description="DEVICE End Point Interrupt Clear Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Disable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Disable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Disable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/Out Interrupt Disable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/Out Interrupt Disable" />
+    </Register>
+    <Register start="+0x108+32" size="1" name="USB_EPINTENCLR1" access="Read/Write" description="DEVICE End Point Interrupt Clear Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Disable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Disable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Disable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/Out Interrupt Disable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/Out Interrupt Disable" />
+    </Register>
+    <Register start="+0x108+64" size="1" name="USB_EPINTENCLR2" access="Read/Write" description="DEVICE End Point Interrupt Clear Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Disable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Disable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Disable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/Out Interrupt Disable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/Out Interrupt Disable" />
+    </Register>
+    <Register start="+0x108+96" size="1" name="USB_EPINTENCLR3" access="Read/Write" description="DEVICE End Point Interrupt Clear Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Disable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Disable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Disable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/Out Interrupt Disable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/Out Interrupt Disable" />
+    </Register>
+    <Register start="+0x108+128" size="1" name="USB_EPINTENCLR4" access="Read/Write" description="DEVICE End Point Interrupt Clear Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Disable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Disable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Disable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/Out Interrupt Disable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/Out Interrupt Disable" />
+    </Register>
+    <Register start="+0x108+160" size="1" name="USB_EPINTENCLR5" access="Read/Write" description="DEVICE End Point Interrupt Clear Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Disable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Disable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Disable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/Out Interrupt Disable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/Out Interrupt Disable" />
+    </Register>
+    <Register start="+0x108+192" size="1" name="USB_EPINTENCLR6" access="Read/Write" description="DEVICE End Point Interrupt Clear Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Disable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Disable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Disable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/Out Interrupt Disable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/Out Interrupt Disable" />
+    </Register>
+    <Register start="+0x108+224" size="1" name="USB_EPINTENCLR7" access="Read/Write" description="DEVICE End Point Interrupt Clear Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Disable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Disable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Disable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/Out Interrupt Disable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/Out Interrupt Disable" />
+    </Register>
+    <Register start="+0x109+0" size="1" name="USB_EPINTENSET0" access="Read/Write" description="DEVICE End Point Interrupt Set Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Enable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out Interrupt enable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out Interrupt enable" />
+    </Register>
+    <Register start="+0x109+32" size="1" name="USB_EPINTENSET1" access="Read/Write" description="DEVICE End Point Interrupt Set Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Enable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out Interrupt enable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out Interrupt enable" />
+    </Register>
+    <Register start="+0x109+64" size="1" name="USB_EPINTENSET2" access="Read/Write" description="DEVICE End Point Interrupt Set Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Enable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out Interrupt enable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out Interrupt enable" />
+    </Register>
+    <Register start="+0x109+96" size="1" name="USB_EPINTENSET3" access="Read/Write" description="DEVICE End Point Interrupt Set Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Enable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out Interrupt enable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out Interrupt enable" />
+    </Register>
+    <Register start="+0x109+128" size="1" name="USB_EPINTENSET4" access="Read/Write" description="DEVICE End Point Interrupt Set Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Enable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out Interrupt enable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out Interrupt enable" />
+    </Register>
+    <Register start="+0x109+160" size="1" name="USB_EPINTENSET5" access="Read/Write" description="DEVICE End Point Interrupt Set Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Enable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out Interrupt enable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out Interrupt enable" />
+    </Register>
+    <Register start="+0x109+192" size="1" name="USB_EPINTENSET6" access="Read/Write" description="DEVICE End Point Interrupt Set Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Enable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out Interrupt enable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out Interrupt enable" />
+    </Register>
+    <Register start="+0x109+224" size="1" name="USB_EPINTENSET7" access="Read/Write" description="DEVICE End Point Interrupt Set Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL0" description="Error Flow 0 Interrupt Enable" />
+      <BitField start="3" size="1" name="TRFAIL1" description="Error Flow 1 Interrupt Enable" />
+      <BitField start="4" size="1" name="RXSTP" description="Received Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL0" description="Stall 0 In/out Interrupt enable" />
+      <BitField start="6" size="1" name="STALL1" description="Stall 1 In/out Interrupt enable" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="USB (HOST)" start="0x41000000" description="Universal Serial Bus">
+    <Register start="+0x000" size="1" name="USB_CTRLA" access="Read/Write" description="Control A" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="1" name="RUNSTDBY" description="Run in Standby Mode" />
+      <BitField start="7" size="1" name="MODE" description="Operating Mode">
+        <Enum name="DEVICE" start="0x0" description="Device Mode" />
+        <Enum name="HOST" start="0x1" description="Host Mode" />
+      </BitField>
+    </Register>
+    <Register start="+0x002" size="1" name="USB_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="SWRST" description="Software Reset Synchronization Busy" />
+      <BitField start="1" size="1" name="ENABLE" description="Enable Synchronization Busy" />
+    </Register>
+    <Register start="+0x003" size="1" name="USB_QOSCTRL" access="Read/Write" description="USB Quality Of Service" reset_value="0x0F" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="CQOS" description="Configuration Quality of Service" />
+      <BitField start="2" size="2" name="DQOS" description="Data Quality of Service" />
+    </Register>
+    <Register start="+0x008" size="2" name="USB_CTRLB" access="Read/Write" description="HOST Control B" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="RESUME" description="Send USB Resume" />
+      <BitField start="2" size="2" name="SPDCONF" description="Speed Configuration for Host">
+        <Enum name="NORMAL" start="0x0" description="Normal mode: the host starts in full-speed mode and performs a high-speed reset to switch to the high speed mode if the downstream peripheral is high-speed capable." />
+        <Enum name="FS" start="0x3" description="Full-speed: the host remains in full-speed mode whatever is the peripheral speed capability. Relevant in UTMI mode only." />
+      </BitField>
+      <BitField start="4" size="1" name="AUTORESUME" description="Auto Resume Enable" />
+      <BitField start="5" size="1" name="TSTJ" description="Test mode J" />
+      <BitField start="6" size="1" name="TSTK" description="Test mode K" />
+      <BitField start="8" size="1" name="SOFE" description="Start of Frame Generation Enable" />
+      <BitField start="9" size="1" name="BUSRESET" description="Send USB Reset" />
+      <BitField start="10" size="1" name="VBUSOK" description="VBUS is OK" />
+      <BitField start="11" size="1" name="L1RESUME" description="Send L1 Resume" />
+    </Register>
+    <Register start="+0x00A" size="1" name="USB_HSOFC" access="Read/Write" description="HOST Host Start Of Frame Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="FLENC" description="Frame Length Control" />
+      <BitField start="7" size="1" name="FLENCE" description="Frame Length Control Enable" />
+    </Register>
+    <Register start="+0x00C" size="1" name="USB_STATUS" access="Read/Write" description="HOST Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="2" name="SPEED" description="Speed Status" />
+      <BitField start="6" size="2" name="LINESTATE" description="USB Line State Status" />
+    </Register>
+    <Register start="+0x00D" size="1" name="USB_FSMSTATUS" access="ReadOnly" description="Finite State Machine Status" reset_value="0x01" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="7" name="FSMSTATE" description="Fine State Machine Status">
+        <Enum name="OFF" start="0x1" description="OFF (L3). It corresponds to the powered-off, disconnected, and disabled state" />
+        <Enum name="ON" start="0x2" description="ON (L0). It corresponds to the Idle and Active states" />
+        <Enum name="SUSPEND" start="0x4" description="SUSPEND (L2)" />
+        <Enum name="SLEEP" start="0x8" description="SLEEP (L1)" />
+        <Enum name="DNRESUME" start="0x10" description="DNRESUME. Down Stream Resume." />
+        <Enum name="UPRESUME" start="0x20" description="UPRESUME. Up Stream Resume." />
+        <Enum name="RESET" start="0x40" description="RESET. USB lines Reset." />
+      </BitField>
+    </Register>
+    <Register start="+0x010" size="2" name="USB_FNUM" access="Read/Write" description="HOST Host Frame Number" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="3" name="MFNUM" description="Micro Frame Number" />
+      <BitField start="3" size="11" name="FNUM" description="Frame Number" />
+    </Register>
+    <Register start="+0x012" size="1" name="USB_FLENHIGH" access="ReadOnly" description="HOST Host Frame Length" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="FLENHIGH" description="Frame Length" />
+    </Register>
+    <Register start="+0x014" size="2" name="USB_INTENCLR" access="Read/Write" description="HOST Host Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="HSOF" description="Host Start Of Frame Interrupt Disable" />
+      <BitField start="3" size="1" name="RST" description="BUS Reset Interrupt Disable" />
+      <BitField start="4" size="1" name="WAKEUP" description="Wake Up Interrupt Disable" />
+      <BitField start="5" size="1" name="DNRSM" description="DownStream to Device Interrupt Disable" />
+      <BitField start="6" size="1" name="UPRSM" description="Upstream Resume from Device Interrupt Disable" />
+      <BitField start="7" size="1" name="RAMACER" description="Ram Access Interrupt Disable" />
+      <BitField start="8" size="1" name="DCONN" description="Device Connection Interrupt Disable" />
+      <BitField start="9" size="1" name="DDISC" description="Device Disconnection Interrupt Disable" />
+    </Register>
+    <Register start="+0x018" size="2" name="USB_INTENSET" access="Read/Write" description="HOST Host Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="HSOF" description="Host Start Of Frame Interrupt Enable" />
+      <BitField start="3" size="1" name="RST" description="Bus Reset Interrupt Enable" />
+      <BitField start="4" size="1" name="WAKEUP" description="Wake Up Interrupt Enable" />
+      <BitField start="5" size="1" name="DNRSM" description="DownStream to the Device Interrupt Enable" />
+      <BitField start="6" size="1" name="UPRSM" description="Upstream Resume fromthe device Interrupt Enable" />
+      <BitField start="7" size="1" name="RAMACER" description="Ram Access Interrupt Enable" />
+      <BitField start="8" size="1" name="DCONN" description="Link Power Management Interrupt Enable" />
+      <BitField start="9" size="1" name="DDISC" description="Device Disconnection Interrupt Enable" />
+    </Register>
+    <Register start="+0x01C" size="2" name="USB_INTFLAG" access="Read/Write" description="HOST Host Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="2" size="1" name="HSOF" description="Host Start Of Frame" />
+      <BitField start="3" size="1" name="RST" description="Bus Reset" />
+      <BitField start="4" size="1" name="WAKEUP" description="Wake Up" />
+      <BitField start="5" size="1" name="DNRSM" description="Downstream" />
+      <BitField start="6" size="1" name="UPRSM" description="Upstream Resume from the Device" />
+      <BitField start="7" size="1" name="RAMACER" description="Ram Access" />
+      <BitField start="8" size="1" name="DCONN" description="Device Connection" />
+      <BitField start="9" size="1" name="DDISC" description="Device Disconnection" />
+    </Register>
+    <Register start="+0x020" size="2" name="USB_PINTSMRY" access="ReadOnly" description="HOST Pipe Interrupt Summary" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EPINT0" description="Pipe 0 Interrupt" />
+      <BitField start="1" size="1" name="EPINT1" description="Pipe 1 Interrupt" />
+      <BitField start="2" size="1" name="EPINT2" description="Pipe 2 Interrupt" />
+      <BitField start="3" size="1" name="EPINT3" description="Pipe 3 Interrupt" />
+      <BitField start="4" size="1" name="EPINT4" description="Pipe 4 Interrupt" />
+      <BitField start="5" size="1" name="EPINT5" description="Pipe 5 Interrupt" />
+      <BitField start="6" size="1" name="EPINT6" description="Pipe 6 Interrupt" />
+      <BitField start="7" size="1" name="EPINT7" description="Pipe 7 Interrupt" />
+    </Register>
+    <Register start="+0x024" size="4" name="USB_DESCADD" access="Read/Write" description="Descriptor Address" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="32" name="DESCADD" description="Descriptor Address Value" />
+    </Register>
+    <Register start="+0x028" size="2" name="USB_PADCAL" access="Read/Write" description="USB PAD Calibration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="5" name="TRANSP" description="USB Pad Transp calibration" />
+      <BitField start="6" size="5" name="TRANSN" description="USB Pad Transn calibration" />
+      <BitField start="12" size="3" name="TRIM" description="USB Pad Trim calibration" />
+    </Register>
+    <Register start="+0x100+0" size="1" name="USB_PCFG0" access="Read/Write" description="HOST End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PTOKEN" description="Pipe Token" />
+      <BitField start="2" size="1" name="BK" description="Pipe Bank" />
+      <BitField start="3" size="3" name="PTYPE" description="Pipe Type" />
+    </Register>
+    <Register start="+0x100+32" size="1" name="USB_PCFG1" access="Read/Write" description="HOST End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PTOKEN" description="Pipe Token" />
+      <BitField start="2" size="1" name="BK" description="Pipe Bank" />
+      <BitField start="3" size="3" name="PTYPE" description="Pipe Type" />
+    </Register>
+    <Register start="+0x100+64" size="1" name="USB_PCFG2" access="Read/Write" description="HOST End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PTOKEN" description="Pipe Token" />
+      <BitField start="2" size="1" name="BK" description="Pipe Bank" />
+      <BitField start="3" size="3" name="PTYPE" description="Pipe Type" />
+    </Register>
+    <Register start="+0x100+96" size="1" name="USB_PCFG3" access="Read/Write" description="HOST End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PTOKEN" description="Pipe Token" />
+      <BitField start="2" size="1" name="BK" description="Pipe Bank" />
+      <BitField start="3" size="3" name="PTYPE" description="Pipe Type" />
+    </Register>
+    <Register start="+0x100+128" size="1" name="USB_PCFG4" access="Read/Write" description="HOST End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PTOKEN" description="Pipe Token" />
+      <BitField start="2" size="1" name="BK" description="Pipe Bank" />
+      <BitField start="3" size="3" name="PTYPE" description="Pipe Type" />
+    </Register>
+    <Register start="+0x100+160" size="1" name="USB_PCFG5" access="Read/Write" description="HOST End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PTOKEN" description="Pipe Token" />
+      <BitField start="2" size="1" name="BK" description="Pipe Bank" />
+      <BitField start="3" size="3" name="PTYPE" description="Pipe Type" />
+    </Register>
+    <Register start="+0x100+192" size="1" name="USB_PCFG6" access="Read/Write" description="HOST End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PTOKEN" description="Pipe Token" />
+      <BitField start="2" size="1" name="BK" description="Pipe Bank" />
+      <BitField start="3" size="3" name="PTYPE" description="Pipe Type" />
+    </Register>
+    <Register start="+0x100+224" size="1" name="USB_PCFG7" access="Read/Write" description="HOST End Point Configuration" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="2" name="PTOKEN" description="Pipe Token" />
+      <BitField start="2" size="1" name="BK" description="Pipe Bank" />
+      <BitField start="3" size="3" name="PTYPE" description="Pipe Type" />
+    </Register>
+    <Register start="+0x103+0" size="1" name="USB_BINTERVAL0" access="Read/Write" description="HOST Bus Access Period of Pipe" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BITINTERVAL" description="Bit Interval" />
+    </Register>
+    <Register start="+0x103+32" size="1" name="USB_BINTERVAL1" access="Read/Write" description="HOST Bus Access Period of Pipe" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BITINTERVAL" description="Bit Interval" />
+    </Register>
+    <Register start="+0x103+64" size="1" name="USB_BINTERVAL2" access="Read/Write" description="HOST Bus Access Period of Pipe" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BITINTERVAL" description="Bit Interval" />
+    </Register>
+    <Register start="+0x103+96" size="1" name="USB_BINTERVAL3" access="Read/Write" description="HOST Bus Access Period of Pipe" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BITINTERVAL" description="Bit Interval" />
+    </Register>
+    <Register start="+0x103+128" size="1" name="USB_BINTERVAL4" access="Read/Write" description="HOST Bus Access Period of Pipe" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BITINTERVAL" description="Bit Interval" />
+    </Register>
+    <Register start="+0x103+160" size="1" name="USB_BINTERVAL5" access="Read/Write" description="HOST Bus Access Period of Pipe" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BITINTERVAL" description="Bit Interval" />
+    </Register>
+    <Register start="+0x103+192" size="1" name="USB_BINTERVAL6" access="Read/Write" description="HOST Bus Access Period of Pipe" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BITINTERVAL" description="Bit Interval" />
+    </Register>
+    <Register start="+0x103+224" size="1" name="USB_BINTERVAL7" access="Read/Write" description="HOST Bus Access Period of Pipe" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="BITINTERVAL" description="Bit Interval" />
+    </Register>
+    <Register start="+0x104+0" size="1" name="USB_PSTATUSCLR0" access="WriteOnly" description="HOST End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank clear" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+32" size="1" name="USB_PSTATUSCLR1" access="WriteOnly" description="HOST End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank clear" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+64" size="1" name="USB_PSTATUSCLR2" access="WriteOnly" description="HOST End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank clear" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+96" size="1" name="USB_PSTATUSCLR3" access="WriteOnly" description="HOST End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank clear" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+128" size="1" name="USB_PSTATUSCLR4" access="WriteOnly" description="HOST End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank clear" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+160" size="1" name="USB_PSTATUSCLR5" access="WriteOnly" description="HOST End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank clear" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+192" size="1" name="USB_PSTATUSCLR6" access="WriteOnly" description="HOST End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank clear" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x104+224" size="1" name="USB_PSTATUSCLR7" access="WriteOnly" description="HOST End Point Pipe Status Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle clear" />
+      <BitField start="2" size="1" name="CURBK" description="Curren Bank clear" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Clear" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Clear" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Clear" />
+    </Register>
+    <Register start="+0x105+0" size="1" name="USB_PSTATUSSET0" access="WriteOnly" description="HOST End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+32" size="1" name="USB_PSTATUSSET1" access="WriteOnly" description="HOST End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+64" size="1" name="USB_PSTATUSSET2" access="WriteOnly" description="HOST End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+96" size="1" name="USB_PSTATUSSET3" access="WriteOnly" description="HOST End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+128" size="1" name="USB_PSTATUSSET4" access="WriteOnly" description="HOST End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+160" size="1" name="USB_PSTATUSSET5" access="WriteOnly" description="HOST End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+192" size="1" name="USB_PSTATUSSET6" access="WriteOnly" description="HOST End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x105+224" size="1" name="USB_PSTATUSSET7" access="WriteOnly" description="HOST End Point Pipe Status Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle Set" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank Set" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze Set" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 Ready Set" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 Ready Set" />
+    </Register>
+    <Register start="+0x106+0" size="1" name="USB_PSTATUS0" access="ReadOnly" description="HOST End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+32" size="1" name="USB_PSTATUS1" access="ReadOnly" description="HOST End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+64" size="1" name="USB_PSTATUS2" access="ReadOnly" description="HOST End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+96" size="1" name="USB_PSTATUS3" access="ReadOnly" description="HOST End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+128" size="1" name="USB_PSTATUS4" access="ReadOnly" description="HOST End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+160" size="1" name="USB_PSTATUS5" access="ReadOnly" description="HOST End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+192" size="1" name="USB_PSTATUS6" access="ReadOnly" description="HOST End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x106+224" size="1" name="USB_PSTATUS7" access="ReadOnly" description="HOST End Point Pipe Status" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="DTGL" description="Data Toggle" />
+      <BitField start="2" size="1" name="CURBK" description="Current Bank" />
+      <BitField start="4" size="1" name="PFREEZE" description="Pipe Freeze" />
+      <BitField start="6" size="1" name="BK0RDY" description="Bank 0 ready" />
+      <BitField start="7" size="1" name="BK1RDY" description="Bank 1 ready" />
+    </Register>
+    <Register start="+0x107+0" size="1" name="USB_PINTFLAG0" access="Read/Write" description="HOST Pipe Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Flag" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Flag" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Flag" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Flag" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Flag" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Flag" />
+    </Register>
+    <Register start="+0x107+32" size="1" name="USB_PINTFLAG1" access="Read/Write" description="HOST Pipe Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Flag" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Flag" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Flag" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Flag" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Flag" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Flag" />
+    </Register>
+    <Register start="+0x107+64" size="1" name="USB_PINTFLAG2" access="Read/Write" description="HOST Pipe Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Flag" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Flag" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Flag" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Flag" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Flag" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Flag" />
+    </Register>
+    <Register start="+0x107+96" size="1" name="USB_PINTFLAG3" access="Read/Write" description="HOST Pipe Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Flag" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Flag" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Flag" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Flag" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Flag" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Flag" />
+    </Register>
+    <Register start="+0x107+128" size="1" name="USB_PINTFLAG4" access="Read/Write" description="HOST Pipe Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Flag" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Flag" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Flag" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Flag" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Flag" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Flag" />
+    </Register>
+    <Register start="+0x107+160" size="1" name="USB_PINTFLAG5" access="Read/Write" description="HOST Pipe Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Flag" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Flag" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Flag" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Flag" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Flag" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Flag" />
+    </Register>
+    <Register start="+0x107+192" size="1" name="USB_PINTFLAG6" access="Read/Write" description="HOST Pipe Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Flag" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Flag" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Flag" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Flag" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Flag" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Flag" />
+    </Register>
+    <Register start="+0x107+224" size="1" name="USB_PINTFLAG7" access="Read/Write" description="HOST Pipe Interrupt Flag" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Flag" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Flag" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Flag" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Flag" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Flag" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Flag" />
+    </Register>
+    <Register start="+0x108+0" size="1" name="USB_PINTENCLR0" access="Read/Write" description="HOST Pipe Interrupt Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Disable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Disable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Disable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Inetrrupt Disable" />
+    </Register>
+    <Register start="+0x108+32" size="1" name="USB_PINTENCLR1" access="Read/Write" description="HOST Pipe Interrupt Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Disable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Disable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Disable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Inetrrupt Disable" />
+    </Register>
+    <Register start="+0x108+64" size="1" name="USB_PINTENCLR2" access="Read/Write" description="HOST Pipe Interrupt Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Disable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Disable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Disable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Inetrrupt Disable" />
+    </Register>
+    <Register start="+0x108+96" size="1" name="USB_PINTENCLR3" access="Read/Write" description="HOST Pipe Interrupt Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Disable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Disable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Disable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Inetrrupt Disable" />
+    </Register>
+    <Register start="+0x108+128" size="1" name="USB_PINTENCLR4" access="Read/Write" description="HOST Pipe Interrupt Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Disable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Disable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Disable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Inetrrupt Disable" />
+    </Register>
+    <Register start="+0x108+160" size="1" name="USB_PINTENCLR5" access="Read/Write" description="HOST Pipe Interrupt Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Disable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Disable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Disable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Inetrrupt Disable" />
+    </Register>
+    <Register start="+0x108+192" size="1" name="USB_PINTENCLR6" access="Read/Write" description="HOST Pipe Interrupt Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Disable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Disable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Disable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Inetrrupt Disable" />
+    </Register>
+    <Register start="+0x108+224" size="1" name="USB_PINTENCLR7" access="Read/Write" description="HOST Pipe Interrupt Flag Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Disable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Disable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Disable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Disable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit Setup Interrupt Disable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Inetrrupt Disable" />
+    </Register>
+    <Register start="+0x109+0" size="1" name="USB_PINTENSET0" access="Read/Write" description="HOST Pipe Interrupt Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Enable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Enable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Enable" />
+    </Register>
+    <Register start="+0x109+32" size="1" name="USB_PINTENSET1" access="Read/Write" description="HOST Pipe Interrupt Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Enable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Enable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Enable" />
+    </Register>
+    <Register start="+0x109+64" size="1" name="USB_PINTENSET2" access="Read/Write" description="HOST Pipe Interrupt Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Enable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Enable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Enable" />
+    </Register>
+    <Register start="+0x109+96" size="1" name="USB_PINTENSET3" access="Read/Write" description="HOST Pipe Interrupt Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Enable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Enable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Enable" />
+    </Register>
+    <Register start="+0x109+128" size="1" name="USB_PINTENSET4" access="Read/Write" description="HOST Pipe Interrupt Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Enable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Enable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Enable" />
+    </Register>
+    <Register start="+0x109+160" size="1" name="USB_PINTENSET5" access="Read/Write" description="HOST Pipe Interrupt Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Enable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Enable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Enable" />
+    </Register>
+    <Register start="+0x109+192" size="1" name="USB_PINTENSET6" access="Read/Write" description="HOST Pipe Interrupt Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Enable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Enable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Enable" />
+    </Register>
+    <Register start="+0x109+224" size="1" name="USB_PINTENSET7" access="Read/Write" description="HOST Pipe Interrupt Flag Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="TRCPT0" description="Transfer Complete 0 Interrupt Enable" />
+      <BitField start="1" size="1" name="TRCPT1" description="Transfer Complete 1 Interrupt Enable" />
+      <BitField start="2" size="1" name="TRFAIL" description="Error Flow Interrupt Enable" />
+      <BitField start="3" size="1" name="PERR" description="Pipe Error Interrupt Enable" />
+      <BitField start="4" size="1" name="TXSTP" description="Transmit  Setup Interrupt Enable" />
+      <BitField start="5" size="1" name="STALL" description="Stall Interrupt Enable" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup name="WDT" start="0x40002000" description="Watchdog Timer">
+    <Register start="+0x0" size="1" name="WDT_CTRLA" access="Read/Write" description="Control" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Enable" />
+      <BitField start="2" size="1" name="WEN" description="Watchdog Timer Window Mode Enable" />
+      <BitField start="7" size="1" name="ALWAYSON" description="Always-On" />
+    </Register>
+    <Register start="+0x1" size="1" name="WDT_CONFIG" access="Read/Write" description="Configuration" reset_value="0xBB" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="PER" description="Time-Out Period">
+        <Enum name="CYC8" start="0x0" description="8 clock cycles" />
+        <Enum name="CYC16" start="0x1" description="16 clock cycles" />
+        <Enum name="CYC32" start="0x2" description="32 clock cycles" />
+        <Enum name="CYC64" start="0x3" description="64 clock cycles" />
+        <Enum name="CYC128" start="0x4" description="128 clock cycles" />
+        <Enum name="CYC256" start="0x5" description="256 clock cycles" />
+        <Enum name="CYC512" start="0x6" description="512 clock cycles" />
+        <Enum name="CYC1024" start="0x7" description="1024 clock cycles" />
+        <Enum name="CYC2048" start="0x8" description="2048 clock cycles" />
+        <Enum name="CYC4096" start="0x9" description="4096 clock cycles" />
+        <Enum name="CYC8192" start="0xa" description="8192 clock cycles" />
+        <Enum name="CYC16384" start="0xb" description="16384 clock cycles" />
+      </BitField>
+      <BitField start="4" size="4" name="WINDOW" description="Window Mode Time-Out Period">
+        <Enum name="CYC8" start="0x0" description="8 clock cycles" />
+        <Enum name="CYC16" start="0x1" description="16 clock cycles" />
+        <Enum name="CYC32" start="0x2" description="32 clock cycles" />
+        <Enum name="CYC64" start="0x3" description="64 clock cycles" />
+        <Enum name="CYC128" start="0x4" description="128 clock cycles" />
+        <Enum name="CYC256" start="0x5" description="256 clock cycles" />
+        <Enum name="CYC512" start="0x6" description="512 clock cycles" />
+        <Enum name="CYC1024" start="0x7" description="1024 clock cycles" />
+        <Enum name="CYC2048" start="0x8" description="2048 clock cycles" />
+        <Enum name="CYC4096" start="0x9" description="4096 clock cycles" />
+        <Enum name="CYC8192" start="0xa" description="8192 clock cycles" />
+        <Enum name="CYC16384" start="0xb" description="16384 clock cycles" />
+      </BitField>
+    </Register>
+    <Register start="+0x2" size="1" name="WDT_EWCTRL" access="Read/Write" description="Early Warning Interrupt Control" reset_value="0x0B" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="4" name="EWOFFSET" description="Early Warning Interrupt Time Offset">
+        <Enum name="CYC8" start="0x0" description="8 clock cycles" />
+        <Enum name="CYC16" start="0x1" description="16 clock cycles" />
+        <Enum name="CYC32" start="0x2" description="32 clock cycles" />
+        <Enum name="CYC64" start="0x3" description="64 clock cycles" />
+        <Enum name="CYC128" start="0x4" description="128 clock cycles" />
+        <Enum name="CYC256" start="0x5" description="256 clock cycles" />
+        <Enum name="CYC512" start="0x6" description="512 clock cycles" />
+        <Enum name="CYC1024" start="0x7" description="1024 clock cycles" />
+        <Enum name="CYC2048" start="0x8" description="2048 clock cycles" />
+        <Enum name="CYC4096" start="0x9" description="4096 clock cycles" />
+        <Enum name="CYC8192" start="0xa" description="8192 clock cycles" />
+        <Enum name="CYC16384" start="0xb" description="16384 clock cycles" />
+      </BitField>
+    </Register>
+    <Register start="+0x4" size="1" name="WDT_INTENCLR" access="Read/Write" description="Interrupt Enable Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EW" description="Early Warning Interrupt Enable" />
+    </Register>
+    <Register start="+0x5" size="1" name="WDT_INTENSET" access="Read/Write" description="Interrupt Enable Set" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EW" description="Early Warning Interrupt Enable" />
+    </Register>
+    <Register start="+0x6" size="1" name="WDT_INTFLAG" access="Read/Write" description="Interrupt Flag Status and Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="1" name="EW" description="Early Warning" />
+    </Register>
+    <Register start="+0x8" size="4" name="WDT_SYNCBUSY" access="ReadOnly" description="Synchronization Busy" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="1" size="1" name="ENABLE" description="Enable Synchronization Busy" />
+      <BitField start="2" size="1" name="WEN" description="Window Enable Synchronization Busy" />
+      <BitField start="3" size="1" name="ALWAYSON" description="Always-On Synchronization Busy" />
+      <BitField start="4" size="1" name="CLEAR" description="Clear Synchronization Busy" />
+    </Register>
+    <Register start="+0xC" size="1" name="WDT_CLEAR" access="WriteOnly" description="Clear" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
+      <BitField start="0" size="8" name="CLEAR" description="Watchdog Clear">
+        <Enum name="KEY" start="0xa5" description="Clear Key" />
+      </BitField>
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup start="0xE000E000" name="SCB">
+    <Register start="0xE000E004" name="ICTR" aka="Interrupt_Control_Type" access="ReadOnly" description="Interrupt Controller Type Register">
+      <BitField size="5" start="0" name="INTLINESNUM" description="Total number of interrupt lines in groups">
+        <Enum name="0...32" start="0x0" />
+        <Enum name="33...64" start="0x1" />
+        <Enum name="65...96" start="0x2" />
+        <Enum name="97...128" start="0x3" />
+        <Enum name="129...160" start="0x4" />
+        <Enum name="161...192" start="0x5" />
+        <Enum name="193...224" start="0x6" />
+        <Enum name="225...256" start="0x7" />
+      </BitField>
+    </Register>
+    <Register start="0xE000E008" name="ACTLR" description="Auxiliary Control Register">
+      <BitField size="1" start="0" name="DISMCYCINT" description="Disable load/store multiple" />
+      <BitField size="1" start="1" name="DISDEFWBUF" description="Disable write buffer" />
+      <BitField size="1" start="2" name="DISFOLD" description="Disable IT folding" />
+      <BitField size="1" start="8" name="DISFPCA" description="Disable FPCA update" />
+      <BitField size="1" start="9" name="DISOOFP" description="Disable out of order FP execution" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup start="0xE000E010" name="SysTick" description="24Bit System Tick Timer for use in RTOS">
+    <Register start="0xE000E010" name="SYST_CSR" aka="SysTick_Control_And_Status" description="SysTick Control and Status Register">
+      <BitField size="1" name="COUNTFLAG" start="16" description="Counter Flag" />
+      <BitField size="1" name="CLKSOURCE" start="2" description="Timer Clock Source" />
+      <BitField size="1" name="TICKINT" start="1" description="Tick Interrupt Enable" />
+      <BitField size="1" name="ENABLE" start="0" description="Enable SysTick Timer" />
+    </Register>
+    <Register start="0xE000E014" name="SYST_RVR" aka="SysTick_Reload_Value" description="SysTick Reload Value Register">
+      <BitField size="24" name="RELOAD" start="0" description="Value to auto reload SysTick after reaching zero" />
+    </Register>
+    <Register start="0xE000E018" name="SYST_CVR" aka="SysTick_Current_Value" description="SysTick Current Value Register">
+      <BitField size="24" name="CURRENT" start="0" description="Current value" />
+    </Register>
+    <Register start="0xE000E01C" name="SYST_CALIB" aka="SysTick_Calibration_Value" access="ReadOnly" description="SysTick Calibration Value Register">
+      <BitField size="1" name="NOREF" start="31" description="No Ref" />
+      <BitField size="1" name="SKEW" start="30" description="Clock Skew" />
+      <BitField size="24" name="TENMS" start="0" description="Reload value to use for 10ms timing" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup start="0xE000E100" name="NVIC" description="Nested Vectored Interrupt Controller">
+    <Register start="0xE000E100" name="NVIC_ISER0" aka="Irq_0_to_31_Set_Enable" description="Interrupt Set-Enable Register 0" />
+    <Register start="0xE000E104" name="NVIC_ISER1" aka="Irq_32_to_63_Set_Enable" description="Interrupt Set-Enable Register 1" />
+    <Register start="0xE000E108" name="NVIC_ISER2" aka="Irq_64_to_95_Set_Enable" description="Interrupt Set-Enable Register 2" />
+    <Register start="0xE000E10C" name="NVIC_ISER3" aka="Irq_96_to_127_Set_Enable" description="Interrupt Set-Enable Register 3" />
+    <Register start="0xE000E110" name="NVIC_ISER4" aka="Irq_128_to_159_Set_Enable" description="Interrupt Set-Enable Register 4" />
+    <Register start="0xE000E180" name="NVIC_ICER0" aka="Irq_0_to_31_Clear_Enable" description="Interrupt Clear-Enable Register 0" />
+    <Register start="0xE000E184" name="NVIC_ICER1" aka="Irq_32_to_63_Clear_Enable" description="Interrupt Clear-Enable Register 1" />
+    <Register start="0xE000E188" name="NVIC_ICER2" aka="Irq_64_to_95_Clear_Enable" description="Interrupt Clear-Enable Register 2" />
+    <Register start="0xE000E18C" name="NVIC_ICER3" aka="Irq_96_to_127_Clear_Enable" description="Interrupt Clear-Enable Register 3" />
+    <Register start="0xE000E190" name="NVIC_ICER4" aka="Irq_128_to_159_Clear_Enable" description="Interrupt Clear-Enable Register 4" />
+    <Register start="0xE000E200" name="NVIC_ISPR0" aka="Irq_0_to_31_Set_Pending" description="Interrupt Set-Pending Register 0" />
+    <Register start="0xE000E204" name="NVIC_ISPR1" aka="Irq_32_to_63_Set_Pending" description="Interrupt Set-Pending Register 1" />
+    <Register start="0xE000E208" name="NVIC_ISPR2" aka="Irq_64_to_95_Set_Pending" description="Interrupt Set-Pending Register 2" />
+    <Register start="0xE000E20C" name="NVIC_ISPR3" aka="Irq_96_to_127_Set_Pending" description="Interrupt Set-Pending Register 3" />
+    <Register start="0xE000E210" name="NVIC_ISPR4" aka="Irq_128_to_159_Set_Pending" description="Interrupt Set-Pending Register 4" />
+    <Register start="0xE000E280" name="NVIC_ICPR0" aka="Irq_0_to_31_Clear_Pending" description="Interrupt Clear-Pending Register 0" />
+    <Register start="0xE000E284" name="NVIC_ICPR1" aka="Irq_32_to_63_Clear_Pending" description="Interrupt Clear-Pending Register 1" />
+    <Register start="0xE000E288" name="NVIC_ICPR2" aka="Irq_64_to_95_Clear_Pending" description="Interrupt Clear-Pending Register 2" />
+    <Register start="0xE000E28C" name="NVIC_ICPR3" aka="Irq_96_to_127_Clear_Pending" description="Interrupt Clear-Pending Register 3" />
+    <Register start="0xE000E290" name="NVIC_ICPR4" aka="Irq_128_to_159_Clear_Pending" description="Interrupt Clear-Pending Register 4" />
+    <Register start="0xE000E300" name="NVIC_IABR0" aka="Irq_0_to_31_Active_Bit" access="ReadOnly" description="Interrupt Active Bit Register 0" />
+    <Register start="0xE000E304" name="NVIC_IABR1" aka="Irq_32_to_63_Active_Bit" access="ReadOnly" description="Interrupt Active Bit Register 1" />
+    <Register start="0xE000E308" name="NVIC_IABR2" aka="Irq_64_to_95_Active_Bit" access="ReadOnly" description="Interrupt Active Bit Register 2" />
+    <Register start="0xE000E30C" name="NVIC_IABR3" aka="Irq_96_to_127_Active_Bit" access="ReadOnly" description="Interrupt Active Bit Register 3" />
+    <Register start="0xE000E310" name="NVIC_IABR4" aka="Irq_128_to_159_Active_Bit" access="ReadOnly" description="Interrupt Active Bit Register 4" />
+    <Register start="0xE000E400" name="NVIC_IPR0" aka="Irq_0_to_3_Priority" description="Interrupt Priority Register 0">
+      <BitField size="3" name="PRI_0" start="5" />
+      <BitField size="3" name="PRI_1" start="13" />
+      <BitField size="3" name="PRI_2" start="21" />
+      <BitField size="3" name="PRI_3" start="29" />
+    </Register>
+    <Register start="0xE000E404" name="NVIC_IPR1" aka="Irq_4_to_7_Priority" description="Interrupt Priority Register 1">
+      <BitField size="3" name="PRI_4" start="5" />
+      <BitField size="3" name="PRI_5" start="13" />
+      <BitField size="3" name="PRI_6" start="21" />
+      <BitField size="3" name="PRI_7" start="29" />
+    </Register>
+    <Register start="0xE000E408" name="NVIC_IPR2" aka="Irq_8_to_11_Priority" description="Interrupt Priority Register 2">
+      <BitField size="3" name="PRI_8" start="5" />
+      <BitField size="3" name="PRI_9" start="13" />
+      <BitField size="3" name="PRI_10" start="21" />
+      <BitField size="3" name="PRI_11" start="29" />
+    </Register>
+    <Register start="0xE000E40C" name="NVIC_IPR3" aka="Irq_12_to_15_Priority" description="Interrupt Priority Register 3">
+      <BitField size="3" name="PRI_12" start="5" />
+      <BitField size="3" name="PRI_13" start="13" />
+      <BitField size="3" name="PRI_14" start="21" />
+      <BitField size="3" name="PRI_15" start="29" />
+    </Register>
+    <Register start="0xE000E410" name="NVIC_IPR4" aka="Irq_16_to_19_Priority" description="Interrupt Priority Register 4">
+      <BitField size="3" name="PRI_16" start="5" />
+      <BitField size="3" name="PRI_17" start="13" />
+      <BitField size="3" name="PRI_18" start="21" />
+      <BitField size="3" name="PRI_19" start="29" />
+    </Register>
+    <Register start="0xE000E414" name="NVIC_IPR5" aka="Irq_20_to_23_Priority" description="Interrupt Priority Register 5">
+      <BitField size="3" name="PRI_20" start="5" />
+      <BitField size="3" name="PRI_21" start="13" />
+      <BitField size="3" name="PRI_22" start="21" />
+      <BitField size="3" name="PRI_23" start="29" />
+    </Register>
+    <Register start="0xE000E418" name="NVIC_IPR6" aka="Irq_24_to_27_Priority" description="Interrupt Priority Register 6">
+      <BitField size="3" name="PRI_24" start="5" />
+      <BitField size="3" name="PRI_25" start="13" />
+      <BitField size="3" name="PRI_26" start="21" />
+      <BitField size="3" name="PRI_27" start="29" />
+    </Register>
+    <Register start="0xE000E41C" name="NVIC_IPR7" aka="Irq_28_to_31_Priority" description="Interrupt Priority Register 7">
+      <BitField size="3" name="PRI_28" start="5" />
+      <BitField size="3" name="PRI_29" start="13" />
+      <BitField size="3" name="PRI_30" start="21" />
+      <BitField size="3" name="PRI_31" start="29" />
+    </Register>
+    <Register start="0xE000E420" name="NVIC_IPR8" aka="Irq_32_to_35_Priority" description="Interrupt Priority Register 8">
+      <BitField size="3" name="PRI_32" start="5" />
+      <BitField size="3" name="PRI_33" start="13" />
+      <BitField size="3" name="PRI_34" start="21" />
+      <BitField size="3" name="PRI_35" start="29" />
+    </Register>
+    <Register start="0xE000E424" name="NVIC_IPR9" aka="Irq_36_to_39_Priority" description="Interrupt Priority Register 9">
+      <BitField size="3" name="PRI_36" start="5" />
+      <BitField size="3" name="PRI_37" start="13" />
+      <BitField size="3" name="PRI_38" start="21" />
+      <BitField size="3" name="PRI_39" start="29" />
+    </Register>
+    <Register start="0xE000E428" name="NVIC_IPR10" aka="Irq_40_to_43_Priority" description="Interrupt Priority Register 10">
+      <BitField size="3" name="PRI_40" start="5" />
+      <BitField size="3" name="PRI_41" start="13" />
+      <BitField size="3" name="PRI_42" start="21" />
+      <BitField size="3" name="PRI_43" start="29" />
+    </Register>
+    <Register start="0xE000E42C" name="NVIC_IPR11" aka="Irq_44_to_47_Priority" description="Interrupt Priority Register 11">
+      <BitField size="3" name="PRI_44" start="5" />
+      <BitField size="3" name="PRI_45" start="13" />
+      <BitField size="3" name="PRI_46" start="21" />
+      <BitField size="3" name="PRI_47" start="29" />
+    </Register>
+    <Register start="0xE000E430" name="NVIC_IPR12" aka="Irq_48_to_51_Priority" description="Interrupt Priority Register 12">
+      <BitField size="3" name="PRI_48" start="5" />
+      <BitField size="3" name="PRI_49" start="13" />
+      <BitField size="3" name="PRI_50" start="21" />
+      <BitField size="3" name="PRI_51" start="29" />
+    </Register>
+    <Register start="0xE000E434" name="NVIC_IPR13" aka="Irq_52_to_55_Priority" description="Interrupt Priority Register 13">
+      <BitField size="3" name="PRI_52" start="5" />
+      <BitField size="3" name="PRI_53" start="13" />
+      <BitField size="3" name="PRI_54" start="21" />
+      <BitField size="3" name="PRI_55" start="29" />
+    </Register>
+    <Register start="0xE000E438" name="NVIC_IPR14" aka="Irq_56_to_59_Priority" description="Interrupt Priority Register 14">
+      <BitField size="3" name="PRI_56" start="5" />
+      <BitField size="3" name="PRI_57" start="13" />
+      <BitField size="3" name="PRI_58" start="21" />
+      <BitField size="3" name="PRI_59" start="29" />
+    </Register>
+    <Register start="0xE000E43C" name="NVIC_IPR15" aka="Irq_60_to_63_Priority" description="Interrupt Priority Register 15">
+      <BitField size="3" name="PRI_60" start="5" />
+      <BitField size="3" name="PRI_61" start="13" />
+      <BitField size="3" name="PRI_62" start="21" />
+      <BitField size="3" name="PRI_63" start="29" />
+    </Register>
+    <Register start="0xE000E440" name="NVIC_IPR16" aka="Irq_64_to_67_Priority" description="Interrupt Priority Register 16">
+      <BitField size="3" name="PRI_64" start="5" />
+      <BitField size="3" name="PRI_65" start="13" />
+      <BitField size="3" name="PRI_66" start="21" />
+      <BitField size="3" name="PRI_67" start="29" />
+    </Register>
+    <Register start="0xE000E444" name="NVIC_IPR17" aka="Irq_68_to_71_Priority" description="Interrupt Priority Register 17">
+      <BitField size="3" name="PRI_68" start="5" />
+      <BitField size="3" name="PRI_69" start="13" />
+      <BitField size="3" name="PRI_70" start="21" />
+      <BitField size="3" name="PRI_71" start="29" />
+    </Register>
+    <Register start="0xE000E448" name="NVIC_IPR18" aka="Irq_72_to_75_Priority" description="Interrupt Priority Register 18">
+      <BitField size="3" name="PRI_72" start="5" />
+      <BitField size="3" name="PRI_73" start="13" />
+      <BitField size="3" name="PRI_74" start="21" />
+      <BitField size="3" name="PRI_75" start="29" />
+    </Register>
+    <Register start="0xE000E44C" name="NVIC_IPR19" aka="Irq_76_to_79_Priority" description="Interrupt Priority Register 19">
+      <BitField size="3" name="PRI_76" start="5" />
+      <BitField size="3" name="PRI_77" start="13" />
+      <BitField size="3" name="PRI_78" start="21" />
+      <BitField size="3" name="PRI_79" start="29" />
+    </Register>
+    <Register start="0xE000E450" name="NVIC_IPR20" aka="Irq_80_to_83_Priority" description="Interrupt Priority Register 20">
+      <BitField size="3" name="PRI_80" start="5" />
+      <BitField size="3" name="PRI_81" start="13" />
+      <BitField size="3" name="PRI_82" start="21" />
+      <BitField size="3" name="PRI_83" start="29" />
+    </Register>
+    <Register start="0xE000E454" name="NVIC_IPR21" aka="Irq_84_to_87_Priority" description="Interrupt Priority Register 21">
+      <BitField size="3" name="PRI_84" start="5" />
+      <BitField size="3" name="PRI_85" start="13" />
+      <BitField size="3" name="PRI_86" start="21" />
+      <BitField size="3" name="PRI_87" start="29" />
+    </Register>
+    <Register start="0xE000E458" name="NVIC_IPR22" aka="Irq_88_to_91_Priority" description="Interrupt Priority Register 22">
+      <BitField size="3" name="PRI_88" start="5" />
+      <BitField size="3" name="PRI_89" start="13" />
+      <BitField size="3" name="PRI_90" start="21" />
+      <BitField size="3" name="PRI_91" start="29" />
+    </Register>
+    <Register start="0xE000E45C" name="NVIC_IPR23" aka="Irq_92_to_95_Priority" description="Interrupt Priority Register 23">
+      <BitField size="3" name="PRI_92" start="5" />
+      <BitField size="3" name="PRI_93" start="13" />
+      <BitField size="3" name="PRI_94" start="21" />
+      <BitField size="3" name="PRI_95" start="29" />
+    </Register>
+    <Register start="0xE000E460" name="NVIC_IPR24" aka="Irq_96_to_99_Priority" description="Interrupt Priority Register 24">
+      <BitField size="3" name="PRI_96" start="5" />
+      <BitField size="3" name="PRI_97" start="13" />
+      <BitField size="3" name="PRI_98" start="21" />
+      <BitField size="3" name="PRI_99" start="29" />
+    </Register>
+    <Register start="0xE000E464" name="NVIC_IPR25" aka="Irq_100_to_103_Priority" description="Interrupt Priority Register 25">
+      <BitField size="3" name="PRI_100" start="5" />
+      <BitField size="3" name="PRI_101" start="13" />
+      <BitField size="3" name="PRI_102" start="21" />
+      <BitField size="3" name="PRI_103" start="29" />
+    </Register>
+    <Register start="0xE000E468" name="NVIC_IPR26" aka="Irq_104_to_107_Priority" description="Interrupt Priority Register 26">
+      <BitField size="3" name="PRI_104" start="5" />
+      <BitField size="3" name="PRI_105" start="13" />
+      <BitField size="3" name="PRI_106" start="21" />
+      <BitField size="3" name="PRI_107" start="29" />
+    </Register>
+    <Register start="0xE000E46C" name="NVIC_IPR27" aka="Irq_108_to_111_Priority" description="Interrupt Priority Register 27">
+      <BitField size="3" name="PRI_108" start="5" />
+      <BitField size="3" name="PRI_109" start="13" />
+      <BitField size="3" name="PRI_110" start="21" />
+      <BitField size="3" name="PRI_111" start="29" />
+    </Register>
+    <Register start="0xE000E470" name="NVIC_IPR28" aka="Irq_112_to_115_Priority" description="Interrupt Priority Register 28">
+      <BitField size="3" name="PRI_112" start="5" />
+      <BitField size="3" name="PRI_113" start="13" />
+      <BitField size="3" name="PRI_114" start="21" />
+      <BitField size="3" name="PRI_115" start="29" />
+    </Register>
+    <Register start="0xE000E474" name="NVIC_IPR29" aka="Irq_116_to_119_Priority" description="Interrupt Priority Register 29">
+      <BitField size="3" name="PRI_116" start="5" />
+      <BitField size="3" name="PRI_117" start="13" />
+      <BitField size="3" name="PRI_118" start="21" />
+      <BitField size="3" name="PRI_119" start="29" />
+    </Register>
+    <Register start="0xE000E478" name="NVIC_IPR30" aka="Irq_120_to_123_Priority" description="Interrupt Priority Register 30">
+      <BitField size="3" name="PRI_120" start="5" />
+      <BitField size="3" name="PRI_121" start="13" />
+      <BitField size="3" name="PRI_122" start="21" />
+      <BitField size="3" name="PRI_123" start="29" />
+    </Register>
+    <Register start="0xE000E47C" name="NVIC_IPR31" aka="Irq_124_to_127_Priority" description="Interrupt Priority Register 31">
+      <BitField size="3" name="PRI_124" start="5" />
+      <BitField size="3" name="PRI_125" start="13" />
+      <BitField size="3" name="PRI_126" start="21" />
+      <BitField size="3" name="PRI_127" start="29" />
+    </Register>
+    <Register start="0xE000E480" name="NVIC_IPR32" aka="Irq_128_to_131_Priority" description="Interrupt Priority Register 32">
+      <BitField size="3" name="PRI_128" start="5" />
+      <BitField size="3" name="PRI_129" start="13" />
+      <BitField size="3" name="PRI_130" start="21" />
+      <BitField size="3" name="PRI_131" start="29" />
+    </Register>
+    <Register start="0xE000E484" name="NVIC_IPR33" aka="Irq_132_to_135_Priority" description="Interrupt Priority Register 33">
+      <BitField size="3" name="PRI_132" start="5" />
+      <BitField size="3" name="PRI_133" start="13" />
+      <BitField size="3" name="PRI_134" start="21" />
+      <BitField size="3" name="PRI_135" start="29" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup start="0xE000ED00" name="SCB">
+    <Register start="0xE000ED04" name="ICSR" aka="Interrupt_Control_State" description="Interrupt Control and State Register">
+      <BitField size="1" name="NMIPENDSET" start="31" description="NMI set-pending bit" />
+      <BitField size="1" name="PENDSVSET" start="28" description="PendSV Set-Pending Bit" />
+      <BitField size="1" name="PENDSVCLR" start="27" description="PendSV Clear-Pending Bit" />
+      <BitField size="1" name="PENDSTSET" start="26" description="SysTick Exception Set-Pending Bit" />
+      <BitField size="1" name="PENDSTCLR" start="25" description="SysTick Exception Clear-Pending Bit" />
+      <BitField size="1" name="ISRPREEMPT" start="23" />
+      <BitField size="1" name="ISRPENDING" start="22" description="Interrupt Pending Flag" />
+      <BitField size="9" name="VECTPENDING" start="12" description="Vector Pending" />
+      <BitField size="1" name="RETTOBASE" start="11" description="Return to Base" />
+      <BitField size="9" name="VECTACTIVE" start="0" description="Active Exception Number" />
+    </Register>
+    <Register start="0xE000ED08" name="VTOR" aka="Vector_Table_Offset" description="Vector Table Offset Register">
+      <BitField size="1" name="TBLBASE" start="29" />
+      <BitField size="25" name="TBLOFF" start="7" />
+    </Register>
+    <Register start="0xE000ED0C" name="AIRCR" aka="Application_Interrupt_and_Reset_Control" description="Application Interrupt and Reset Control Register">
+      <BitField size="16" name="VECTKEY" start="16" description="Register Key" />
+      <BitField size="1" name="ENDIANESS" start="15" description="Data Endianness Bit" />
+      <BitField size="3" name="PRIGROUP" start="8" description="Interrupt Priority Grouping Field" />
+      <BitField size="1" name="SYSRESETREQ" start="2" description="System Reset Request" />
+      <BitField size="1" name="VECTCLRACTIVE" start="1" />
+      <BitField size="1" name="VECTRESET" start="0" />
+    </Register>
+    <Register start="0xE000ED10" name="SCR" aka="System_Control" description="System Control Register">
+      <BitField size="1" name="SEVONPEND" start="4" description="Send Event on Pending" />
+      <BitField size="1" name="SLEEPDEEP" start="2" description="Sleep or Deep Sleep" />
+      <BitField size="1" name="SLEEPONEXIT" start="1" description="Sleep on Exit" />
+    </Register>
+    <Register start="0xE000ED14" name="CCR" aka="Configuration_Control" description="Configuration and Control Register">
+      <BitField size="1" name="STKALIGN" start="9" description="Stack Alignment" />
+      <BitField size="1" name="BFHFNMIGN" start="8" description="Bus Fault Hard Fault and NMI Ignore" />
+      <BitField size="1" name="DIV_0_TRP" start="4" description="Divide by Zero Trap Enable" />
+      <BitField size="1" name="UNALIGN_TRP" start="3" description="Unaligned Access Trap Enable" />
+      <BitField size="1" name="USERSETMPEND" start="1" description="User Set Pending Enable" />
+      <BitField size="1" name="NONBASETHRDENA" start="0" description="Non Base Thread Mode Enable" />
+    </Register>
+    <Register start="0xE000ED18" name="SHPR1" aka="System_Handlers_4_7_Priority" description="System Handler Priority Register 1">
+      <BitField size="3" name="PRI_4(MemManage)" start="8-3" description="Priority of system handler 4, MemManage" />
+      <BitField size="3" name="PRI_5(BusFault)" start="16-3" description="Priority of system handler 5, BusFault" />
+      <BitField size="3" name="PRI_6(UsageFault)" start="24-3" description="Priority of system handler 6, UsageFault" />
+      <BitField size="3" name="PRI_7" start="32-3" />
+    </Register>
+    <Register start="0xE000ED1C" name="SHPR2" aka="System_Handlers_8_11_Priority" description="System Handler Priority Register 2">
+      <BitField size="3" name="PRI_8" start="8-3" />
+      <BitField size="3" name="PRI_9" start="16-3" />
+      <BitField size="3" name="PRI_10" start="24-3" />
+      <BitField size="3" name="PRI_11(SVCall)" start="32-3" description="Priority of system handler 11, SVCall" />
+    </Register>
+    <Register start="0xE000ED20" name="SHPR3" aka="System_Handlers_12_15_Priority" description="System Handler Priority Register 3">
+      <BitField size="3" name="PRI_12(DebugMonitor)" start="8-3" />
+      <BitField size="3" name="PRI_13" start="16-3" />
+      <BitField size="3" name="PRI_14(PendSV)" start="24-3" />
+      <BitField size="3" name="PRI_15(SysTick)" start="32-3" />
+    </Register>
+    <Register start="0xE000ED24" name="SHCSR" aka="System_Handler_Control_and_State" description="System Handler Control and State Register">
+      <BitField size="1" name="USGFAULTENA" start="18" description="UsageFault Enable Bit" />
+      <BitField size="1" name="BUSFAULTENA" start="17" description="BusFault Enable Bit" />
+      <BitField size="1" name="MEMFAULTENA" start="16" description="MemManage Enable Bit" />
+      <BitField size="1" name="SVCALLPENDED" start="15" description="SVCall Pending Bit" />
+      <BitField size="1" name="BUSFAULTPENDED" start="14" description="BusFault Exception Pending Bit" />
+      <BitField size="1" name="MEMFAULTPENDED" start="13" description="MemManage Exception Pending Bit" />
+      <BitField size="1" name="USGFAULTPENDED" start="12" description="UsageFault Exception Pending Bit" />
+      <BitField size="1" name="SYSTICKACT" start="11" description="SysTick Exception Active Bit" />
+      <BitField size="1" name="PENDSVACT" start="10" description="PendSV Exception Active Bit" />
+      <BitField size="1" name="MONITORACT" start="8" description="Debug Monitor Active Bit" />
+      <BitField size="1" name="SVCALLACT" start="7" description="SVCall Active Bit" />
+      <BitField size="1" name="USGFAULTACT" start="3" description="UsageFault Exception Active Bit" />
+      <BitField size="1" name="BUSFAULTACT" start="1" description="BusFault Exception Active Bit" />
+      <BitField size="1" name="MEMFAULTACT" start="0" description="MemManage Exception Active Bit" />
+    </Register>
+    <Register start="0xE000ED28" size="1" name="MMFSR" aka="Memory_Manage_Fault_Status">
+      <BitField size="1" name="MMARVALID" start="7" />
+      <BitField size="1" name="MLSPERR" start="5" />
+      <BitField size="1" name="MSTKERR" start="4" />
+      <BitField size="1" name="MUNSTKERR" start="3" />
+      <BitField size="1" name="DACCVIOL" start="1" />
+      <BitField size="1" name="IACCVIOL" start="0" />
+    </Register>
+    <Register start="0xE000ED29" size="1" name="BFSR" aka="Bus_Fault_Status">
+      <BitField size="1" name="BFARVALID" start="7" />
+      <BitField size="1" name="LSPERR" start="5" />
+      <BitField size="1" name="STKERR" start="4" />
+      <BitField size="1" name="UNSTKERR" start="3" />
+      <BitField size="1" name="IMPRECISERR" start="2" />
+      <BitField size="1" name="PRECISERR" start="1" />
+      <BitField size="1" name="IBUSERR" start="0" />
+    </Register>
+    <Register start="0xE000ED2A" size="2" name="UFSR" aka="Usage_Fault_Status">
+      <BitField size="1" name="DIVBYZERO" start="9" />
+      <BitField size="1" name="UNALIGNED" start="8" />
+      <BitField size="1" name="NOCP" start="3" />
+      <BitField size="1" name="INVPC" start="2" />
+      <BitField size="1" name="INVSTATE" start="1" />
+      <BitField size="1" name="UNDEFINSTR" start="0" />
+    </Register>
+    <Register start="0xE000ED2C" name="HFSR" aka="Hard_Fault_Status">
+      <BitField size="1" name="DEBUGEVT" start="31" />
+      <BitField size="1" name="FORCED" start="30" />
+      <BitField size="1" name="VECTTBL" start="1" />
+    </Register>
+    <Register start="0xE000ED30" name="DFSR" aka="Debug_Fault_Status">
+      <BitField size="1" name="EXTERNAL" start="4" />
+      <BitField size="1" name="VCATCH" start="3" />
+      <BitField size="1" name="DWTTRAP" start="2" />
+      <BitField size="1" name="BKPT" start="1" />
+      <BitField size="1" name="HALTED" start="0" />
+    </Register>
+    <Register start="0xE000ED34" name="MMFAR" aka="Memory_Manage_Fault_Address" />
+    <Register start="0xE000ED38" name="BFAR" aka="Bus_Fault_Address" />
+    <Register start="0xE000ED3C" name="AFSR" aka="Auxillary_Fault_Address" />
+    <Register start="0xE000ED88" name="CPACR" description="Coprocessor Access Control Register">
+      <BitField size="2" name="CP0" start="0" />
+      <BitField size="2" name="CP1" start="2" />
+      <BitField size="2" name="CP2" start="4" />
+      <BitField size="2" name="CP3" start="6" />
+      <BitField size="2" name="CP4" start="8" />
+      <BitField size="2" name="CP5" start="10" />
+      <BitField size="2" name="CP6" start="12" />
+      <BitField size="2" name="CP7" start="14" />
+      <BitField size="2" name="CP10" start="20" />
+      <BitField size="2" name="CP11" start="22" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup start="0xE000ED00" name="CPUID">
+    <Register start="0xE000ED00" name="CPUID" aka="CPUID_Base" access="ReadOnly" description="CPUID Base Register">
+      <BitField size="8" name="IMPLEMENTER" start="24" description="Implementer Code" />
+      <BitField size="4" name="VARIANT" start="20" description="Variant Number" />
+      <BitField size="12" name="PARTNO" start="4" description="Part Number" />
+      <BitField size="4" name="REVISION" start="0" description="Revision Number" />
+    </Register>
+    <Register start="0xE000ED40" name="ID_PFR0" aka="PFR0" access="ReadOnly" />
+    <Register start="0xE000ED44" name="ID_PFR1" aka="PFR1" access="ReadOnly" />
+    <Register start="0xE000ED48" name="ID_DFR0" aka="DFR0" access="ReadOnly" />
+    <Register start="0xE000ED4C" name="ID_AFR0" aka="AFR0" access="ReadOnly" />
+    <Register start="0xE000ED50" name="ID_MMFR0" aka="MMFR0" access="ReadOnly" />
+    <Register start="0xE000ED54" name="ID_MMFR1" aka="MMFR1" access="ReadOnly" />
+    <Register start="0xE000ED58" name="ID_MMFR2" aka="MMFR2" access="ReadOnly" />
+    <Register start="0xE000ED5C" name="ID_MMFR3" aka="MMFR3" access="ReadOnly" />
+    <Register start="0xE000ED60" name="ID_ISAR0" aka="ISAR0" access="ReadOnly" />
+    <Register start="0xE000ED64" name="ID_ISAR1" aka="ISAR1" access="ReadOnly" />
+    <Register start="0xE000ED68" name="ID_ISAR2" aka="ISAR2" access="ReadOnly" />
+    <Register start="0xE000ED6C" name="ID_ISAR3" aka="ISAR3" access="ReadOnly" />
+    <Register start="0xE000ED70" name="ID_ISAR4" aka="ISAR4" access="ReadOnly" />
+  </RegisterGroup>
+  <RegisterGroup start="0xE000ED90" name="MPU">
+    <Register start="0xE000ED90" name="MPU_TYPE" aka="MPU_Type" access="ReadOnly" description="MPU Type Register">
+      <BitField size="8" name="IREGION" start="16" description="Number of supported MPU instruction regions" />
+      <BitField size="8" name="DREGION" start="8" description="Number of supported MPU data regions" />
+      <BitField size="8" name="SEPARATE" start="0" description="Support for unified or separate instruction and date memory maps" />
+    </Register>
+    <Register start="0xE000ED94" name="MPU_CTRL" aka="MPU_Control" description="MPU Control Register">
+      <BitField size="1" name="PRIVDEFENA" start="2" description="Enables privileged software access to the default memory map" />
+      <BitField size="1" name="HFNMIENA" start="1" description="Enable the operation of MPU during hard fault, NMI, and FAULTMASK handlers" />
+      <BitField size="1" name="ENABLE" start="0" description="Enable MPU" />
+    </Register>
+    <Register start="0xE000ED98" name="MPU_RNR" aka="MPU_Region_Number" description="MPU Region Number Register">
+      <BitField size="8" name="REGION" start="0" />
+    </Register>
+    <Register start="0xE000ED9C" name="MPU_RBAR" aka="MPU_Region_Base_Address" description="MPU Region Base Address Register">
+      <BitField size="27" name="ADDR" start="5" description="Region base address field" />
+      <BitField size="1" name="VALID" start="4" description="MPU Region Number valid bit" />
+      <BitField size="4" name="REGION" start="0" description="MPU region field" />
+    </Register>
+    <Register start="0xE000EDA0" name="MPU_RASR" aka="MPU_Attribute_and_Size" description="MPU Region Attribute and Size Register">
+      <BitField size="1" name="XN" start="28" description="Instruction access disable bit" />
+      <BitField size="3" name="AP" start="24" description="Access permission field" />
+      <BitField size="3" name="TEX" start="19" description="Memory access attribute" />
+      <BitField size="1" name="S" start="18" description="Shareable bit" />
+      <BitField size="1" name="C" start="17" description="Memory access attribute" />
+      <BitField size="1" name="B" start="16" description="Memory access attribute" />
+      <BitField size="8" name="SRD" start="8" description="Subregion disable bits" />
+      <BitField size="5" name="SIZE" start="1" description="MPU protection region size" />
+      <BitField size="1" name="ENABLE" start="0" description="Region enable bit" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup start="0xE000EDF0" name="CoreDebug">
+    <Register start="0xE000EDF0" name="DHCSR" />
+    <Register start="0xE000EDF4" name="DCRSR" />
+    <Register start="0xE000EDF8" name="DCRDR" />
+    <Register start="0xE000EDFC" name="DEMCR" />
+  </RegisterGroup>
+  <RegisterGroup start="0xE000EF00" name="SCB">
+    <Register start="0xE000EF00" name="STIR" aka="SCB_SW_TRIG" access="WriteOnly" description="Software Trigger Interrupt Register">
+      <BitField size="10" name="INTID" start="0" description="ID of the interrupt to trigger" />
+    </Register>
+  </RegisterGroup>
+  <RegisterGroup start="0xE000EF34" name="SCB_FP">
+    <Register start="0xE000EF34" name="FPCCR" description="Floating-point Context Control Register">
+      <BitField size="1" name="ASPEN" start="31" description="Automatic State Preservation" />
+      <BitField size="1" name="LSPEN" start="30" description="Lazy State Preservation Enabled" />
+      <BitField size="1" name="MONRDY" start="8" description="Monitor Ready" />
+      <BitField size="1" name="BFRDY" start="6" description="BusFault Ready" />
+      <BitField size="1" name="MMRDY" start="5" description="MemManage Ready" />
+      <BitField size="1" name="HFRDY" start="4" description="HardFault Ready" />
+      <BitField size="1" name="THREAD" start="3" description="Thread Mode Allocated Stack Frame" />
+      <BitField size="1" name="USER" start="1" description="User Allocated Stack Frame" />
+      <BitField size="1" name="LSPACT" start="0" description="Lazy State Preservation Active" />
+    </Register>
+    <Register start="0xE000EF38" name="FPCAR" description="Floating-point Context Address Register" />
+    <Register start="0xE000EF3C" name="FPDSCR" description="Floating-point Default Status Control Register">
+      <BitField size="1" name="AHP" start="26" description="Default value for FPSCR.AHP" />
+      <BitField size="1" name="DN" start="25" description="Default value for FPSCR.DN" />
+      <BitField size="1" name="FZ" start="24" description="Default value for FPSCR.FZ" />
+      <BitField size="2" name="RMode" start="22" description="Default value for FPSCR.RMode" />
+    </Register>
+    <Register start="0xE000EF40" name="MVFR0" />
+    <Register start="0xE000EF44" name="MVFR1" />
+  </RegisterGroup>
+  <RegisterGroup start="0xE000EFD0" name="ID_space">
+    <Register start="0xE000EFD0" size="1" name="PID4" access="ReadOnly" />
+    <Register start="0xE000EFD4" size="1" name="PID5" access="ReadOnly" />
+    <Register start="0xE000EFD8" size="1" name="PID6" access="ReadOnly" />
+    <Register start="0xE000EFDC" size="1" name="PID7" access="ReadOnly" />
+    <Register start="0xE000EFE0" size="1" name="PID0" access="ReadOnly" />
+    <Register start="0xE000EFE4" size="1" name="PID1" access="ReadOnly" />
+    <Register start="0xE000EFE8" size="1" name="PID2" access="ReadOnly" />
+    <Register start="0xE000EFEC" size="1" name="PID3" access="ReadOnly" />
+    <Register start="0xE000EFF0" size="1" name="CID0" access="ReadOnly" />
+    <Register start="0xE000EFF4" size="1" name="CID1" access="ReadOnly" />
+    <Register start="0xE000EFF8" size="1" name="CID2" access="ReadOnly" />
+    <Register start="0xE000EFFC" size="1" name="CID3" access="ReadOnly" />
+  </RegisterGroup>
+</Processor>

+ 1227 - 0
examples/device_composite_freertos/ses/samd51/ATSAMD51J19A_Vectors.s

@@ -0,0 +1,1227 @@
+/*****************************************************************************
+ *                   SEGGER Microcontroller GmbH & Co. KG                    *
+ *            Solutions for real time microcontroller applications           *
+ *****************************************************************************
+ *                                                                           *
+ *               (c) 2017 SEGGER Microcontroller GmbH & Co. KG               *
+ *                                                                           *
+ *           Internet: www.segger.com   Support: support@segger.com          *
+ *                                                                           *
+ *****************************************************************************/
+
+/*****************************************************************************
+ *                         Preprocessor Definitions                          *
+ *                         ------------------------                          *
+ * STARTUP_FROM_RESET                                                        *
+ *                                                                           *
+ *   If defined, the program will startup from power-on/reset. If not        *
+ *   defined the program will just loop endlessly from power-on/reset.       *
+ *                                                                           *
+ * VECTORS_IN_RAM                                                            *
+ *                                                                           *
+ *   If defined, an area of RAM will large enough to store the vector table  *
+ *   will be reserved.                                                       *
+ *                                                                           *
+ *****************************************************************************/
+
+  .syntax unified
+  .code 16
+
+  .section .init, "ax"
+  .align 0
+
+/*****************************************************************************
+ * Default Exception Handlers                                                *
+ *****************************************************************************/
+
+#ifndef STARTUP_FROM_RESET
+
+  .thumb_func
+  .weak Reset_Wait
+Reset_Wait:
+  b .
+
+#endif
+
+  .thumb_func
+  .weak NMI_Handler
+NMI_Handler:
+  b .
+
+  .thumb_func
+  .weak HardFault_Handler
+HardFault_Handler:
+  b .
+
+  .thumb_func
+  .weak SVC_Handler
+SVC_Handler:
+  b .
+
+  .thumb_func
+  .weak PendSV_Handler
+PendSV_Handler:
+  b .
+
+  .thumb_func
+  .weak SysTick_Handler
+SysTick_Handler:
+  b .
+
+  .thumb_func
+Dummy_Handler:
+  b .
+
+#if defined(__OPTIMIZATION_SMALL)
+
+  .weak PM_Handler
+  .thumb_set PM_Handler,Dummy_Handler
+
+  .weak MCLK_Handler
+  .thumb_set MCLK_Handler,Dummy_Handler
+
+  .weak OSCCTRL_0_Handler
+  .thumb_set OSCCTRL_0_Handler,Dummy_Handler
+
+  .weak OSCCTRL_1_Handler
+  .thumb_set OSCCTRL_1_Handler,Dummy_Handler
+
+  .weak OSCCTRL_2_Handler
+  .thumb_set OSCCTRL_2_Handler,Dummy_Handler
+
+  .weak OSCCTRL_3_Handler
+  .thumb_set OSCCTRL_3_Handler,Dummy_Handler
+
+  .weak OSCCTRL_4_Handler
+  .thumb_set OSCCTRL_4_Handler,Dummy_Handler
+
+  .weak OSC32KCTRL_Handler
+  .thumb_set OSC32KCTRL_Handler,Dummy_Handler
+
+  .weak SUPC_0_Handler
+  .thumb_set SUPC_0_Handler,Dummy_Handler
+
+  .weak SUPC_1_Handler
+  .thumb_set SUPC_1_Handler,Dummy_Handler
+
+  .weak WDT_Handler
+  .thumb_set WDT_Handler,Dummy_Handler
+
+  .weak RTC_Handler
+  .thumb_set RTC_Handler,Dummy_Handler
+
+  .weak EIC_0_Handler
+  .thumb_set EIC_0_Handler,Dummy_Handler
+
+  .weak EIC_1_Handler
+  .thumb_set EIC_1_Handler,Dummy_Handler
+
+  .weak EIC_2_Handler
+  .thumb_set EIC_2_Handler,Dummy_Handler
+
+  .weak EIC_3_Handler
+  .thumb_set EIC_3_Handler,Dummy_Handler
+
+  .weak EIC_4_Handler
+  .thumb_set EIC_4_Handler,Dummy_Handler
+
+  .weak EIC_5_Handler
+  .thumb_set EIC_5_Handler,Dummy_Handler
+
+  .weak EIC_6_Handler
+  .thumb_set EIC_6_Handler,Dummy_Handler
+
+  .weak EIC_7_Handler
+  .thumb_set EIC_7_Handler,Dummy_Handler
+
+  .weak EIC_8_Handler
+  .thumb_set EIC_8_Handler,Dummy_Handler
+
+  .weak EIC_9_Handler
+  .thumb_set EIC_9_Handler,Dummy_Handler
+
+  .weak EIC_10_Handler
+  .thumb_set EIC_10_Handler,Dummy_Handler
+
+  .weak EIC_11_Handler
+  .thumb_set EIC_11_Handler,Dummy_Handler
+
+  .weak EIC_12_Handler
+  .thumb_set EIC_12_Handler,Dummy_Handler
+
+  .weak EIC_13_Handler
+  .thumb_set EIC_13_Handler,Dummy_Handler
+
+  .weak EIC_14_Handler
+  .thumb_set EIC_14_Handler,Dummy_Handler
+
+  .weak EIC_15_Handler
+  .thumb_set EIC_15_Handler,Dummy_Handler
+
+  .weak FREQM_Handler
+  .thumb_set FREQM_Handler,Dummy_Handler
+
+  .weak NVMCTRL_0_Handler
+  .thumb_set NVMCTRL_0_Handler,Dummy_Handler
+
+  .weak NVMCTRL_1_Handler
+  .thumb_set NVMCTRL_1_Handler,Dummy_Handler
+
+  .weak DMAC_0_Handler
+  .thumb_set DMAC_0_Handler,Dummy_Handler
+
+  .weak DMAC_1_Handler
+  .thumb_set DMAC_1_Handler,Dummy_Handler
+
+  .weak DMAC_2_Handler
+  .thumb_set DMAC_2_Handler,Dummy_Handler
+
+  .weak DMAC_3_Handler
+  .thumb_set DMAC_3_Handler,Dummy_Handler
+
+  .weak DMAC_4_Handler
+  .thumb_set DMAC_4_Handler,Dummy_Handler
+
+  .weak EVSYS_0_Handler
+  .thumb_set EVSYS_0_Handler,Dummy_Handler
+
+  .weak EVSYS_1_Handler
+  .thumb_set EVSYS_1_Handler,Dummy_Handler
+
+  .weak EVSYS_2_Handler
+  .thumb_set EVSYS_2_Handler,Dummy_Handler
+
+  .weak EVSYS_3_Handler
+  .thumb_set EVSYS_3_Handler,Dummy_Handler
+
+  .weak EVSYS_4_Handler
+  .thumb_set EVSYS_4_Handler,Dummy_Handler
+
+  .weak PAC_Handler
+  .thumb_set PAC_Handler,Dummy_Handler
+
+  .weak TAL_0_Handler
+  .thumb_set TAL_0_Handler,Dummy_Handler
+
+  .weak TAL_1_Handler
+  .thumb_set TAL_1_Handler,Dummy_Handler
+
+  .weak RAMECC_Handler
+  .thumb_set RAMECC_Handler,Dummy_Handler
+
+  .weak SERCOM0_0_Handler
+  .thumb_set SERCOM0_0_Handler,Dummy_Handler
+
+  .weak SERCOM0_1_Handler
+  .thumb_set SERCOM0_1_Handler,Dummy_Handler
+
+  .weak SERCOM0_2_Handler
+  .thumb_set SERCOM0_2_Handler,Dummy_Handler
+
+  .weak SERCOM0_3_Handler
+  .thumb_set SERCOM0_3_Handler,Dummy_Handler
+
+  .weak SERCOM1_0_Handler
+  .thumb_set SERCOM1_0_Handler,Dummy_Handler
+
+  .weak SERCOM1_1_Handler
+  .thumb_set SERCOM1_1_Handler,Dummy_Handler
+
+  .weak SERCOM1_2_Handler
+  .thumb_set SERCOM1_2_Handler,Dummy_Handler
+
+  .weak SERCOM1_3_Handler
+  .thumb_set SERCOM1_3_Handler,Dummy_Handler
+
+  .weak SERCOM2_0_Handler
+  .thumb_set SERCOM2_0_Handler,Dummy_Handler
+
+  .weak SERCOM2_1_Handler
+  .thumb_set SERCOM2_1_Handler,Dummy_Handler
+
+  .weak SERCOM2_2_Handler
+  .thumb_set SERCOM2_2_Handler,Dummy_Handler
+
+  .weak SERCOM2_3_Handler
+  .thumb_set SERCOM2_3_Handler,Dummy_Handler
+
+  .weak SERCOM3_0_Handler
+  .thumb_set SERCOM3_0_Handler,Dummy_Handler
+
+  .weak SERCOM3_1_Handler
+  .thumb_set SERCOM3_1_Handler,Dummy_Handler
+
+  .weak SERCOM3_2_Handler
+  .thumb_set SERCOM3_2_Handler,Dummy_Handler
+
+  .weak SERCOM3_3_Handler
+  .thumb_set SERCOM3_3_Handler,Dummy_Handler
+
+  .weak SERCOM4_0_Handler
+  .thumb_set SERCOM4_0_Handler,Dummy_Handler
+
+  .weak SERCOM4_1_Handler
+  .thumb_set SERCOM4_1_Handler,Dummy_Handler
+
+  .weak SERCOM4_2_Handler
+  .thumb_set SERCOM4_2_Handler,Dummy_Handler
+
+  .weak SERCOM4_3_Handler
+  .thumb_set SERCOM4_3_Handler,Dummy_Handler
+
+  .weak SERCOM5_0_Handler
+  .thumb_set SERCOM5_0_Handler,Dummy_Handler
+
+  .weak SERCOM5_1_Handler
+  .thumb_set SERCOM5_1_Handler,Dummy_Handler
+
+  .weak SERCOM5_2_Handler
+  .thumb_set SERCOM5_2_Handler,Dummy_Handler
+
+  .weak SERCOM5_3_Handler
+  .thumb_set SERCOM5_3_Handler,Dummy_Handler
+
+  .weak USB_0_Handler
+  .thumb_set USB_0_Handler,Dummy_Handler
+
+  .weak USB_1_Handler
+  .thumb_set USB_1_Handler,Dummy_Handler
+
+  .weak USB_2_Handler
+  .thumb_set USB_2_Handler,Dummy_Handler
+
+  .weak USB_3_Handler
+  .thumb_set USB_3_Handler,Dummy_Handler
+
+  .weak TCC0_0_Handler
+  .thumb_set TCC0_0_Handler,Dummy_Handler
+
+  .weak TCC0_1_Handler
+  .thumb_set TCC0_1_Handler,Dummy_Handler
+
+  .weak TCC0_2_Handler
+  .thumb_set TCC0_2_Handler,Dummy_Handler
+
+  .weak TCC0_3_Handler
+  .thumb_set TCC0_3_Handler,Dummy_Handler
+
+  .weak TCC0_4_Handler
+  .thumb_set TCC0_4_Handler,Dummy_Handler
+
+  .weak TCC0_5_Handler
+  .thumb_set TCC0_5_Handler,Dummy_Handler
+
+  .weak TCC0_6_Handler
+  .thumb_set TCC0_6_Handler,Dummy_Handler
+
+  .weak TCC1_0_Handler
+  .thumb_set TCC1_0_Handler,Dummy_Handler
+
+  .weak TCC1_1_Handler
+  .thumb_set TCC1_1_Handler,Dummy_Handler
+
+  .weak TCC1_2_Handler
+  .thumb_set TCC1_2_Handler,Dummy_Handler
+
+  .weak TCC1_3_Handler
+  .thumb_set TCC1_3_Handler,Dummy_Handler
+
+  .weak TCC1_4_Handler
+  .thumb_set TCC1_4_Handler,Dummy_Handler
+
+  .weak TCC2_0_Handler
+  .thumb_set TCC2_0_Handler,Dummy_Handler
+
+  .weak TCC2_1_Handler
+  .thumb_set TCC2_1_Handler,Dummy_Handler
+
+  .weak TCC2_2_Handler
+  .thumb_set TCC2_2_Handler,Dummy_Handler
+
+  .weak TCC2_3_Handler
+  .thumb_set TCC2_3_Handler,Dummy_Handler
+
+  .weak TCC3_0_Handler
+  .thumb_set TCC3_0_Handler,Dummy_Handler
+
+  .weak TCC3_1_Handler
+  .thumb_set TCC3_1_Handler,Dummy_Handler
+
+  .weak TCC3_2_Handler
+  .thumb_set TCC3_2_Handler,Dummy_Handler
+
+  .weak TCC4_0_Handler
+  .thumb_set TCC4_0_Handler,Dummy_Handler
+
+  .weak TCC4_1_Handler
+  .thumb_set TCC4_1_Handler,Dummy_Handler
+
+  .weak TCC4_2_Handler
+  .thumb_set TCC4_2_Handler,Dummy_Handler
+
+  .weak TC0_Handler
+  .thumb_set TC0_Handler,Dummy_Handler
+
+  .weak TC1_Handler
+  .thumb_set TC1_Handler,Dummy_Handler
+
+  .weak TC2_Handler
+  .thumb_set TC2_Handler,Dummy_Handler
+
+  .weak TC3_Handler
+  .thumb_set TC3_Handler,Dummy_Handler
+
+  .weak TC4_Handler
+  .thumb_set TC4_Handler,Dummy_Handler
+
+  .weak TC5_Handler
+  .thumb_set TC5_Handler,Dummy_Handler
+
+  .weak PDEC_0_Handler
+  .thumb_set PDEC_0_Handler,Dummy_Handler
+
+  .weak PDEC_1_Handler
+  .thumb_set PDEC_1_Handler,Dummy_Handler
+
+  .weak PDEC_2_Handler
+  .thumb_set PDEC_2_Handler,Dummy_Handler
+
+  .weak ADC0_0_Handler
+  .thumb_set ADC0_0_Handler,Dummy_Handler
+
+  .weak ADC0_1_Handler
+  .thumb_set ADC0_1_Handler,Dummy_Handler
+
+  .weak ADC1_0_Handler
+  .thumb_set ADC1_0_Handler,Dummy_Handler
+
+  .weak ADC1_1_Handler
+  .thumb_set ADC1_1_Handler,Dummy_Handler
+
+  .weak AC_Handler
+  .thumb_set AC_Handler,Dummy_Handler
+
+  .weak DAC_0_Handler
+  .thumb_set DAC_0_Handler,Dummy_Handler
+
+  .weak DAC_1_Handler
+  .thumb_set DAC_1_Handler,Dummy_Handler
+
+  .weak DAC_2_Handler
+  .thumb_set DAC_2_Handler,Dummy_Handler
+
+  .weak DAC_3_Handler
+  .thumb_set DAC_3_Handler,Dummy_Handler
+
+  .weak DAC_4_Handler
+  .thumb_set DAC_4_Handler,Dummy_Handler
+
+  .weak I2S_Handler
+  .thumb_set I2S_Handler,Dummy_Handler
+
+  .weak PCC_Handler
+  .thumb_set PCC_Handler,Dummy_Handler
+
+  .weak AES_Handler
+  .thumb_set AES_Handler,Dummy_Handler
+
+  .weak TRNG_Handler
+  .thumb_set TRNG_Handler,Dummy_Handler
+
+  .weak ICM_Handler
+  .thumb_set ICM_Handler,Dummy_Handler
+
+  .weak QSPI_Handler
+  .thumb_set QSPI_Handler,Dummy_Handler
+
+  .weak SDHC0_Handler
+  .thumb_set SDHC0_Handler,Dummy_Handler
+
+#else
+
+  .thumb_func
+  .weak PM_Handler
+PM_Handler:
+  b .
+
+  .thumb_func
+  .weak MCLK_Handler
+MCLK_Handler:
+  b .
+
+  .thumb_func
+  .weak OSCCTRL_0_Handler
+OSCCTRL_0_Handler:
+  b .
+
+  .thumb_func
+  .weak OSCCTRL_1_Handler
+OSCCTRL_1_Handler:
+  b .
+
+  .thumb_func
+  .weak OSCCTRL_2_Handler
+OSCCTRL_2_Handler:
+  b .
+
+  .thumb_func
+  .weak OSCCTRL_3_Handler
+OSCCTRL_3_Handler:
+  b .
+
+  .thumb_func
+  .weak OSCCTRL_4_Handler
+OSCCTRL_4_Handler:
+  b .
+
+  .thumb_func
+  .weak OSC32KCTRL_Handler
+OSC32KCTRL_Handler:
+  b .
+
+  .thumb_func
+  .weak SUPC_0_Handler
+SUPC_0_Handler:
+  b .
+
+  .thumb_func
+  .weak SUPC_1_Handler
+SUPC_1_Handler:
+  b .
+
+  .thumb_func
+  .weak WDT_Handler
+WDT_Handler:
+  b .
+
+  .thumb_func
+  .weak RTC_Handler
+RTC_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_0_Handler
+EIC_0_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_1_Handler
+EIC_1_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_2_Handler
+EIC_2_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_3_Handler
+EIC_3_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_4_Handler
+EIC_4_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_5_Handler
+EIC_5_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_6_Handler
+EIC_6_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_7_Handler
+EIC_7_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_8_Handler
+EIC_8_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_9_Handler
+EIC_9_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_10_Handler
+EIC_10_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_11_Handler
+EIC_11_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_12_Handler
+EIC_12_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_13_Handler
+EIC_13_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_14_Handler
+EIC_14_Handler:
+  b .
+
+  .thumb_func
+  .weak EIC_15_Handler
+EIC_15_Handler:
+  b .
+
+  .thumb_func
+  .weak FREQM_Handler
+FREQM_Handler:
+  b .
+
+  .thumb_func
+  .weak NVMCTRL_0_Handler
+NVMCTRL_0_Handler:
+  b .
+
+  .thumb_func
+  .weak NVMCTRL_1_Handler
+NVMCTRL_1_Handler:
+  b .
+
+  .thumb_func
+  .weak DMAC_0_Handler
+DMAC_0_Handler:
+  b .
+
+  .thumb_func
+  .weak DMAC_1_Handler
+DMAC_1_Handler:
+  b .
+
+  .thumb_func
+  .weak DMAC_2_Handler
+DMAC_2_Handler:
+  b .
+
+  .thumb_func
+  .weak DMAC_3_Handler
+DMAC_3_Handler:
+  b .
+
+  .thumb_func
+  .weak DMAC_4_Handler
+DMAC_4_Handler:
+  b .
+
+  .thumb_func
+  .weak EVSYS_0_Handler
+EVSYS_0_Handler:
+  b .
+
+  .thumb_func
+  .weak EVSYS_1_Handler
+EVSYS_1_Handler:
+  b .
+
+  .thumb_func
+  .weak EVSYS_2_Handler
+EVSYS_2_Handler:
+  b .
+
+  .thumb_func
+  .weak EVSYS_3_Handler
+EVSYS_3_Handler:
+  b .
+
+  .thumb_func
+  .weak EVSYS_4_Handler
+EVSYS_4_Handler:
+  b .
+
+  .thumb_func
+  .weak PAC_Handler
+PAC_Handler:
+  b .
+
+  .thumb_func
+  .weak TAL_0_Handler
+TAL_0_Handler:
+  b .
+
+  .thumb_func
+  .weak TAL_1_Handler
+TAL_1_Handler:
+  b .
+
+  .thumb_func
+  .weak RAMECC_Handler
+RAMECC_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM0_0_Handler
+SERCOM0_0_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM0_1_Handler
+SERCOM0_1_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM0_2_Handler
+SERCOM0_2_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM0_3_Handler
+SERCOM0_3_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM1_0_Handler
+SERCOM1_0_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM1_1_Handler
+SERCOM1_1_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM1_2_Handler
+SERCOM1_2_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM1_3_Handler
+SERCOM1_3_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM2_0_Handler
+SERCOM2_0_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM2_1_Handler
+SERCOM2_1_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM2_2_Handler
+SERCOM2_2_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM2_3_Handler
+SERCOM2_3_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM3_0_Handler
+SERCOM3_0_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM3_1_Handler
+SERCOM3_1_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM3_2_Handler
+SERCOM3_2_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM3_3_Handler
+SERCOM3_3_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM4_0_Handler
+SERCOM4_0_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM4_1_Handler
+SERCOM4_1_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM4_2_Handler
+SERCOM4_2_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM4_3_Handler
+SERCOM4_3_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM5_0_Handler
+SERCOM5_0_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM5_1_Handler
+SERCOM5_1_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM5_2_Handler
+SERCOM5_2_Handler:
+  b .
+
+  .thumb_func
+  .weak SERCOM5_3_Handler
+SERCOM5_3_Handler:
+  b .
+
+  .thumb_func
+  .weak USB_0_Handler
+USB_0_Handler:
+  b .
+
+  .thumb_func
+  .weak USB_1_Handler
+USB_1_Handler:
+  b .
+
+  .thumb_func
+  .weak USB_2_Handler
+USB_2_Handler:
+  b .
+
+  .thumb_func
+  .weak USB_3_Handler
+USB_3_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC0_0_Handler
+TCC0_0_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC0_1_Handler
+TCC0_1_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC0_2_Handler
+TCC0_2_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC0_3_Handler
+TCC0_3_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC0_4_Handler
+TCC0_4_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC0_5_Handler
+TCC0_5_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC0_6_Handler
+TCC0_6_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC1_0_Handler
+TCC1_0_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC1_1_Handler
+TCC1_1_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC1_2_Handler
+TCC1_2_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC1_3_Handler
+TCC1_3_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC1_4_Handler
+TCC1_4_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC2_0_Handler
+TCC2_0_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC2_1_Handler
+TCC2_1_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC2_2_Handler
+TCC2_2_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC2_3_Handler
+TCC2_3_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC3_0_Handler
+TCC3_0_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC3_1_Handler
+TCC3_1_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC3_2_Handler
+TCC3_2_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC4_0_Handler
+TCC4_0_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC4_1_Handler
+TCC4_1_Handler:
+  b .
+
+  .thumb_func
+  .weak TCC4_2_Handler
+TCC4_2_Handler:
+  b .
+
+  .thumb_func
+  .weak TC0_Handler
+TC0_Handler:
+  b .
+
+  .thumb_func
+  .weak TC1_Handler
+TC1_Handler:
+  b .
+
+  .thumb_func
+  .weak TC2_Handler
+TC2_Handler:
+  b .
+
+  .thumb_func
+  .weak TC3_Handler
+TC3_Handler:
+  b .
+
+  .thumb_func
+  .weak TC4_Handler
+TC4_Handler:
+  b .
+
+  .thumb_func
+  .weak TC5_Handler
+TC5_Handler:
+  b .
+
+  .thumb_func
+  .weak PDEC_0_Handler
+PDEC_0_Handler:
+  b .
+
+  .thumb_func
+  .weak PDEC_1_Handler
+PDEC_1_Handler:
+  b .
+
+  .thumb_func
+  .weak PDEC_2_Handler
+PDEC_2_Handler:
+  b .
+
+  .thumb_func
+  .weak ADC0_0_Handler
+ADC0_0_Handler:
+  b .
+
+  .thumb_func
+  .weak ADC0_1_Handler
+ADC0_1_Handler:
+  b .
+
+  .thumb_func
+  .weak ADC1_0_Handler
+ADC1_0_Handler:
+  b .
+
+  .thumb_func
+  .weak ADC1_1_Handler
+ADC1_1_Handler:
+  b .
+
+  .thumb_func
+  .weak AC_Handler
+AC_Handler:
+  b .
+
+  .thumb_func
+  .weak DAC_0_Handler
+DAC_0_Handler:
+  b .
+
+  .thumb_func
+  .weak DAC_1_Handler
+DAC_1_Handler:
+  b .
+
+  .thumb_func
+  .weak DAC_2_Handler
+DAC_2_Handler:
+  b .
+
+  .thumb_func
+  .weak DAC_3_Handler
+DAC_3_Handler:
+  b .
+
+  .thumb_func
+  .weak DAC_4_Handler
+DAC_4_Handler:
+  b .
+
+  .thumb_func
+  .weak I2S_Handler
+I2S_Handler:
+  b .
+
+  .thumb_func
+  .weak PCC_Handler
+PCC_Handler:
+  b .
+
+  .thumb_func
+  .weak AES_Handler
+AES_Handler:
+  b .
+
+  .thumb_func
+  .weak TRNG_Handler
+TRNG_Handler:
+  b .
+
+  .thumb_func
+  .weak ICM_Handler
+ICM_Handler:
+  b .
+
+  .thumb_func
+  .weak QSPI_Handler
+QSPI_Handler:
+  b .
+
+  .thumb_func
+  .weak SDHC0_Handler
+SDHC0_Handler:
+  b .
+
+#endif
+
+/*****************************************************************************
+ * Vector Table                                                              *
+ *****************************************************************************/
+
+  .section .vectors, "ax"
+  .align 0
+  .global _vectors
+  .extern __stack_end__
+#ifdef STARTUP_FROM_RESET
+  .extern Reset_Handler
+#endif
+
+_vectors:
+  .word __stack_end__
+#ifdef STARTUP_FROM_RESET
+  .word Reset_Handler
+#else
+  .word Reset_Wait
+#endif
+  .word NMI_Handler
+  .word HardFault_Handler
+  .word 0 /* Reserved */
+  .word 0 /* Reserved */
+  .word 0 /* Reserved */
+  .word 0 /* Reserved */
+  .word 0 /* Reserved */
+  .word 0 /* Reserved */
+  .word 0 /* Reserved */
+  .word SVC_Handler
+  .word 0 /* Reserved */
+  .word 0 /* Reserved */
+  .word PendSV_Handler
+  .word SysTick_Handler
+  .word PM_Handler
+  .word MCLK_Handler
+  .word OSCCTRL_0_Handler
+  .word OSCCTRL_1_Handler
+  .word OSCCTRL_2_Handler
+  .word OSCCTRL_3_Handler
+  .word OSCCTRL_4_Handler
+  .word OSC32KCTRL_Handler
+  .word SUPC_0_Handler
+  .word SUPC_1_Handler
+  .word WDT_Handler
+  .word RTC_Handler
+  .word EIC_0_Handler
+  .word EIC_1_Handler
+  .word EIC_2_Handler
+  .word EIC_3_Handler
+  .word EIC_4_Handler
+  .word EIC_5_Handler
+  .word EIC_6_Handler
+  .word EIC_7_Handler
+  .word EIC_8_Handler
+  .word EIC_9_Handler
+  .word EIC_10_Handler
+  .word EIC_11_Handler
+  .word EIC_12_Handler
+  .word EIC_13_Handler
+  .word EIC_14_Handler
+  .word EIC_15_Handler
+  .word FREQM_Handler
+  .word NVMCTRL_0_Handler
+  .word NVMCTRL_1_Handler
+  .word DMAC_0_Handler
+  .word DMAC_1_Handler
+  .word DMAC_2_Handler
+  .word DMAC_3_Handler
+  .word DMAC_4_Handler
+  .word EVSYS_0_Handler
+  .word EVSYS_1_Handler
+  .word EVSYS_2_Handler
+  .word EVSYS_3_Handler
+  .word EVSYS_4_Handler
+  .word PAC_Handler
+  .word TAL_0_Handler
+  .word TAL_1_Handler
+  .word Dummy_Handler /* Reserved */
+  .word RAMECC_Handler
+  .word SERCOM0_0_Handler
+  .word SERCOM0_1_Handler
+  .word SERCOM0_2_Handler
+  .word SERCOM0_3_Handler
+  .word SERCOM1_0_Handler
+  .word SERCOM1_1_Handler
+  .word SERCOM1_2_Handler
+  .word SERCOM1_3_Handler
+  .word SERCOM2_0_Handler
+  .word SERCOM2_1_Handler
+  .word SERCOM2_2_Handler
+  .word SERCOM2_3_Handler
+  .word SERCOM3_0_Handler
+  .word SERCOM3_1_Handler
+  .word SERCOM3_2_Handler
+  .word SERCOM3_3_Handler
+  .word SERCOM4_0_Handler
+  .word SERCOM4_1_Handler
+  .word SERCOM4_2_Handler
+  .word SERCOM4_3_Handler
+  .word SERCOM5_0_Handler
+  .word SERCOM5_1_Handler
+  .word SERCOM5_2_Handler
+  .word SERCOM5_3_Handler
+  .word Dummy_Handler /* Reserved */
+  .word Dummy_Handler /* Reserved */
+  .word Dummy_Handler /* Reserved */
+  .word Dummy_Handler /* Reserved */
+  .word Dummy_Handler /* Reserved */
+  .word Dummy_Handler /* Reserved */
+  .word Dummy_Handler /* Reserved */
+  .word Dummy_Handler /* Reserved */
+  .word Dummy_Handler /* Reserved */
+  .word Dummy_Handler /* Reserved */
+  .word USB_0_Handler
+  .word USB_1_Handler
+  .word USB_2_Handler
+  .word USB_3_Handler
+  .word Dummy_Handler /* Reserved */
+  .word TCC0_0_Handler
+  .word TCC0_1_Handler
+  .word TCC0_2_Handler
+  .word TCC0_3_Handler
+  .word TCC0_4_Handler
+  .word TCC0_5_Handler
+  .word TCC0_6_Handler
+  .word TCC1_0_Handler
+  .word TCC1_1_Handler
+  .word TCC1_2_Handler
+  .word TCC1_3_Handler
+  .word TCC1_4_Handler
+  .word TCC2_0_Handler
+  .word TCC2_1_Handler
+  .word TCC2_2_Handler
+  .word TCC2_3_Handler
+  .word TCC3_0_Handler
+  .word TCC3_1_Handler
+  .word TCC3_2_Handler
+  .word TCC4_0_Handler
+  .word TCC4_1_Handler
+  .word TCC4_2_Handler
+  .word TC0_Handler
+  .word TC1_Handler
+  .word TC2_Handler
+  .word TC3_Handler
+  .word TC4_Handler
+  .word TC5_Handler
+  .word Dummy_Handler /* Reserved */
+  .word Dummy_Handler /* Reserved */
+  .word PDEC_0_Handler
+  .word PDEC_1_Handler
+  .word PDEC_2_Handler
+  .word ADC0_0_Handler
+  .word ADC0_1_Handler
+  .word ADC1_0_Handler
+  .word ADC1_1_Handler
+  .word AC_Handler
+  .word DAC_0_Handler
+  .word DAC_1_Handler
+  .word DAC_2_Handler
+  .word DAC_3_Handler
+  .word DAC_4_Handler
+  .word I2S_Handler
+  .word PCC_Handler
+  .word AES_Handler
+  .word TRNG_Handler
+  .word ICM_Handler
+  .word Dummy_Handler /* Reserved */
+  .word QSPI_Handler
+  .word SDHC0_Handler
+_vectors_end:
+
+#ifdef VECTORS_IN_RAM
+  .section .vectors_ram, "ax"
+  .align 0
+  .global _vectors_ram
+
+_vectors_ram:
+  .space _vectors_end - _vectors, 0
+#endif

+ 128 - 0
examples/device_composite_freertos/ses/samd51/SAMD51_Startup.s

@@ -0,0 +1,128 @@
+/*****************************************************************************
+ *                   SEGGER Microcontroller GmbH & Co. KG                    *
+ *            Solutions for real time microcontroller applications           *
+ *****************************************************************************
+ *                                                                           *
+ *               (c) 2017 SEGGER Microcontroller GmbH & Co. KG               *
+ *                                                                           *
+ *           Internet: www.segger.com   Support: support@segger.com          *
+ *                                                                           *
+ *****************************************************************************/
+
+/*****************************************************************************
+ *                         Preprocessor Definitions                          *
+ *                         ------------------------                          *
+ * NO_FPU_ENABLE                                                             *
+ *                                                                           *
+ *   If defined, FPU will not be enabled.                                    *
+ *                                                                           *
+ * NO_STACK_INIT                                                             *
+ *                                                                           *
+ *   If defined, the stack pointer will not be initialised.                  *
+ *                                                                           *
+ * NO_SYSTEM_INIT                                                            *
+ *                                                                           *
+ *   If defined, the SystemInit() function will not be called. By default    *
+ *   SystemInit() is called after reset to enable the clocks and memories to *
+ *   be initialised prior to any C startup initialisation.                   *
+ *                                                                           *
+ * NO_VTOR_CONFIG                                                            *
+ *                                                                           *
+ *   If defined, the vector table offset register will not be configured.    *
+ *                                                                           *
+ * MEMORY_INIT                                                               *
+ *                                                                           *
+ *   If defined, the MemoryInit() function will be called. By default        *
+ *   MemoryInit() is called after SystemInit() to enable an external memory  *
+ *   controller.                                                             *
+ *                                                                           *
+ * STACK_INIT_VAL                                                            *
+ *                                                                           *
+ *   If defined, specifies the initial stack pointer value. If undefined,    *
+ *   the stack pointer will be initialised to point to the end of the        *
+ *   RAM segment.                                                            *
+ *                                                                           *
+ * VECTORS_IN_RAM                                                            *
+ *                                                                           *
+ *   If defined, the exception vectors will be copied from Flash to RAM.     *
+ *                                                                           *
+ *****************************************************************************/
+
+  .syntax unified
+
+  .global Reset_Handler
+  .extern _vectors
+
+  .section .init, "ax"
+  .thumb_func
+
+  .equ VTOR_REG, 0xE000ED08
+  .equ FPU_CPACR_REG, 0xE000ED88
+
+#ifndef STACK_INIT_VAL
+#define STACK_INIT_VAL __RAM_segment_end__
+#endif
+
+Reset_Handler:
+#ifndef NO_STACK_INIT
+  /* Initialise main stack */
+  ldr r0, =STACK_INIT_VAL
+  bic r0, #0x7
+  mov sp, r0
+#endif
+
+#ifndef NO_SYSTEM_INIT
+  /* Initialise system */
+  ldr r0, =SystemInit
+  blx r0
+  .pushsection .init_array, "aw", %init_array
+  .word SystemCoreClockUpdate
+  .popsection
+#endif
+
+#ifdef MEMORY_INIT
+  ldr r0, =MemoryInit
+  blx r0
+#endif
+
+#ifdef VECTORS_IN_RAM
+  /* Copy exception vectors into RAM */
+  ldr r0, =__vectors_start__
+  ldr r1, =__vectors_end__
+  ldr r2, =__vectors_ram_start__
+1:
+  cmp r0, r1
+  beq 2f
+  ldr r3, [r0]
+  str r3, [r2]
+  adds r0, r0, #4
+  adds r2, r2, #4
+  b 1b
+2:
+#endif
+
+#ifndef NO_VTOR_CONFIG
+  /* Configure vector table offset register */
+  ldr r0, =VTOR_REG
+#ifdef VECTORS_IN_RAM
+  ldr r1, =_vectors_ram
+#else
+  ldr r1, =_vectors
+#endif
+  str r1, [r0]
+#endif
+
+#if (defined(__ARM_ARCH_FPV4_SP_D16__) || defined(__ARM_ARCH_FPV5_D16__)) && !defined(NO_FPU_ENABLE)
+  /* Enable FPU */
+  ldr r0, =FPU_CPACR_REG
+  ldr r1, [r0]
+  orr r1, r1, #(0xF << 20)
+  str r1, [r0]
+  dsb
+  isb
+#endif
+
+  /* Jump to program start */
+  b _start
+
+

+ 19 - 0
examples/device_composite_freertos/ses/samd51/SAMD51_Target.js

@@ -0,0 +1,19 @@
+/*****************************************************************************
+ *                   SEGGER Microcontroller GmbH & Co. KG                    *
+ *            Solutions for real time microcontroller applications           *
+ *****************************************************************************
+ *                                                                           *
+ *               (c) 2017 SEGGER Microcontroller GmbH & Co. KG               *
+ *                                                                           *
+ *           Internet: www.segger.com   Support: support@segger.com          *
+ *                                                                           *
+ *****************************************************************************/
+
+function Reset() {
+  TargetInterface.resetAndStop();
+}
+
+function EnableTrace(traceInterfaceType) {
+  // TODO: Enable trace
+}
+

+ 37 - 0
examples/device_composite_freertos/ses/samd51/flash_placement.xml

@@ -0,0 +1,37 @@
+<!DOCTYPE Linker_Placement_File>
+<Root name="Flash Section Placement">
+  <MemorySegment name="$(FLASH_NAME:FLASH)">
+    <ProgramSection alignment="0x100" load="Yes" name=".vectors" start="$(FLASH_START:)" />
+    <ProgramSection alignment="4" load="Yes" name=".init" />
+    <ProgramSection alignment="4" load="Yes" name=".init_rodata" />
+    <ProgramSection alignment="4" load="Yes" name=".text" />
+    <ProgramSection alignment="4" load="Yes" name=".dtors" />
+    <ProgramSection alignment="4" load="Yes" name=".ctors" />
+    <ProgramSection alignment="4" load="Yes" name=".rodata" />
+    <ProgramSection alignment="4" load="Yes" name=".ARM.exidx" address_symbol="__exidx_start" end_symbol="__exidx_end" />
+    <ProgramSection alignment="4" load="Yes" runin=".fast_run" name=".fast" />
+    <ProgramSection alignment="4" load="Yes" runin=".data_run" name=".data" />
+    <ProgramSection alignment="4" load="Yes" runin=".tdata_run" name=".tdata" />
+  </MemorySegment>
+  <MemorySegment name="$(RAM_NAME:RAM);SRAM">
+    <ProgramSection alignment="0x100" load="No" name=".vectors_ram" start="$(RAM_START:$(SRAM_START:))" />
+    <ProgramSection alignment="4" load="No" name=".fast_run" />
+    <ProgramSection alignment="4" load="No" name=".data_run" />
+    <ProgramSection alignment="4" load="No" name=".bss" />
+    <ProgramSection alignment="4" load="No" name=".tbss" />
+    <ProgramSection alignment="4" load="No" name=".tdata_run" />
+    <ProgramSection alignment="4" load="No" name=".non_init" />
+    <ProgramSection alignment="4" size="__HEAPSIZE__" load="No" name=".heap" />
+    <ProgramSection alignment="8" size="__STACKSIZE__" load="No" place_from_segment_end="Yes" name=".stack" />
+    <ProgramSection alignment="8" size="__STACKSIZE_PROCESS__" load="No" name=".stack_process" />
+  </MemorySegment>
+  <MemorySegment name="$(FLASH2_NAME:FLASH2)">
+    <ProgramSection alignment="4" load="Yes" name=".text2" />
+    <ProgramSection alignment="4" load="Yes" name=".rodata2" />
+    <ProgramSection alignment="4" load="Yes" runin=".data2_run" name=".data2" />
+  </MemorySegment>
+  <MemorySegment name="$(RAM2_NAME:RAM2)">
+    <ProgramSection alignment="4" load="No" name=".data2_run" />
+    <ProgramSection alignment="4" load="No" name=".bss2" />
+  </MemorySegment>
+</Root>

+ 107 - 0
examples/device_composite_freertos/ses/samd51/samd51.emProject

@@ -0,0 +1,107 @@
+<!DOCTYPE CrossStudio_Project_File>
+<solution Name="samd51" target="8" version="2">
+  <project Name="samd51">
+    <configuration
+      Name="Common"
+      Placement="Flash"
+      Target="nRF52840_xxAA"
+      arm_architecture="v7EM"
+      arm_core_type="Cortex-M4"
+      arm_endian="Little"
+      arm_fp_abi="Hard"
+      arm_fpu_type="FPv4-SP-D16"
+      arm_interwork="No"
+      arm_linker_heap_size="1024"
+      arm_linker_process_stack_size="0"
+      arm_linker_stack_size="1024"
+      arm_simulator_memory_simulation_parameter="RX 00000000,00080000,FFFFFFFF;RWX 20000000,00030000,CDCDCDCD"
+      arm_target_debug_interface_type="ADIv5"
+      arm_target_device_name="ATSAMD51J19"
+      arm_target_interface_type="SWD"
+      build_treat_warnings_as_errors="Yes"
+      c_preprocessor_definitions="__SAMD51_FAMILY;__SAMD51J19A__;ARM_MATH_CM4;FLASH_PLACEMENT=1;USE_SIMPLE_ASSERT;BOARD_METRO_M4_EXPRESS;CFG_TUSB_MCU=OPT_MCU_SAMD51"
+      c_user_include_directories="../../src;$(rootDir)/hw/cmsis/Include;$(rootDir)/hw;$(rootDir)/src;$(asf4Dir);$(asf4Dir)/include;$(asf4Dir)/config;$(asf4Dir)/hri;$(asf4Dir)/hal/include;$(asf4Dir)/hal/utils/include;$(asf4Dir)/hpl/port;$(asf4Dir)/hpl/gclk"
+      debug_register_definition_file="ATSAMD51J19A_Registers.xml"
+      debug_target_connection="J-Link"
+      gcc_entry_point="Reset_Handler"
+      link_use_linker_script_file="No"
+      linker_memory_map_file="ATSAMD51J19A_MemoryMap.xml"
+      linker_section_placement_file="flash_placement.xml"
+      linker_section_placements_segments="FLASH RX 0x00000000 0x00080000;RAM RWX 0x20000000 0x00030000"
+      macros="DeviceFamily=SAMD51;Target=ATSAMD51J19A;Placement=Flash;rootDir=../../../..;asf4Dir=../../../../hw/mcu/microchip/samd/asf4/samd51"
+      project_directory=""
+      project_type="Executable"
+      target_reset_script="Reset();"
+      target_script_file="$(ProjectDir)/SAMD51_Target.js"
+      target_trace_initialize_script="EnableTrace(&quot;$(TraceInterfaceType)&quot;)" />
+    <folder
+      Name="tinyusb"
+      exclude=""
+      filter="*.c;*.h"
+      path="../../../../src"
+      recurse="Yes" />
+    <folder Name="hw">
+      <folder Name="bsp">
+        <file file_name="../../../../hw/bsp/ansi_escape.h" />
+        <file file_name="../../../../hw/bsp/board.h" />
+        <folder Name="metro_m4_express">
+          <file file_name="../../../../hw/bsp/metro_m4_express/board_metro_m4_express.c" />
+          <file file_name="../../../../hw/bsp/metro_m4_express/board_metro_m4_express.h" />
+        </folder>
+      </folder>
+      <folder Name="mcu">
+        <folder Name="microchip">
+          <folder Name="samd">
+            <folder Name="asf4">
+              <folder Name="samd51">
+                <folder Name="gcc">
+                  <file file_name="../../../../hw/mcu/microchip/samd/asf4/samd51/gcc/system_samd51.c" />
+                </folder>
+                <folder Name="hpl">
+                  <folder Name="core">
+                    <file file_name="../../../../hw/mcu/microchip/samd/asf4/samd51/hpl/core/hpl_init.c" />
+                  </folder>
+                  <folder Name="osc32kctrl">
+                    <file file_name="../../../../hw/mcu/microchip/samd/asf4/samd51/hpl/osc32kctrl/hpl_osc32kctrl.c" />
+                  </folder>
+                  <folder Name="oscctrl">
+                    <file file_name="../../../../hw/mcu/microchip/samd/asf4/samd51/hpl/oscctrl/hpl_oscctrl.c" />
+                  </folder>
+                  <folder Name="mclk">
+                    <file file_name="../../../../hw/mcu/microchip/samd/asf4/samd51/hpl/mclk/hpl_mclk.c" />
+                  </folder>
+                  <folder Name="gclk">
+                    <file file_name="../../../../hw/mcu/microchip/samd/asf4/samd51/hpl/gclk/hpl_gclk.c" />
+                  </folder>
+                </folder>
+              </folder>
+            </folder>
+          </folder>
+        </folder>
+      </folder>
+    </folder>
+    <configuration Name="Debug" build_treat_warnings_as_errors="Yes" />
+    <folder
+      Name="src"
+      exclude=""
+      filter="*.c;*.h"
+      path="../../src"
+      recurse="Yes" />
+    <folder Name="System Files">
+      <file file_name="ATSAMD51J19A_MemoryMap.xml" />
+      <file file_name="ATSAMD51J19A_Registers.xml" />
+      <file file_name="ATSAMD51J19A_Vectors.s" />
+      <file file_name="flash_placement.xml" />
+      <file file_name="SAMD51_Startup.s" />
+      <file file_name="SAMD51_Target.js" />
+      <file file_name="thumb_crt0.s" />
+    </folder>
+    <folder
+      Name="segger_rtt"
+      exclude=""
+      filter="*.c;*.h"
+      path="../../../../lib/segger_rtt"
+      recurse="No" />
+  </project>
+  <configuration Name="Metro M4 Express" />
+</solution>

+ 415 - 0
examples/device_composite_freertos/ses/samd51/thumb_crt0.s

@@ -0,0 +1,415 @@
+// **********************************************************************
+// *                    SEGGER Microcontroller GmbH                     *
+// *                        The Embedded Experts                        *
+// **********************************************************************
+// *                                                                    *
+// *            (c) 2014 - 2018 SEGGER Microcontroller GmbH             *
+// *            (c) 2001 - 2018 Rowley Associates Limited               *
+// *                                                                    *
+// *           www.segger.com     Support: support@segger.com           *
+// *                                                                    *
+// **********************************************************************
+// *                                                                    *
+// * All rights reserved.                                               *
+// *                                                                    *
+// * Redistribution and use in source and binary forms, with or         *
+// * without modification, are permitted provided that the following    *
+// * conditions are met:                                                *
+// *                                                                    *
+// * - Redistributions of source code must retain the above copyright   *
+// *   notice, this list of conditions and the following disclaimer.    *
+// *                                                                    *
+// * - Neither the name of SEGGER Microcontroller GmbH                  *
+// *   nor the names of its contributors may be used to endorse or      *
+// *   promote products derived from this software without specific     *
+// *   prior written permission.                                        *
+// *                                                                    *
+// * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             *
+// * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,        *
+// * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           *
+// * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           *
+// * DISCLAIMED.                                                        *
+// * IN NO EVENT SHALL SEGGER Microcontroller GmbH BE LIABLE FOR        *
+// * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR           *
+// * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT  *
+// * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;    *
+// * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF      *
+// * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT          *
+// * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE  *
+// * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH   *
+// * DAMAGE.                                                            *
+// *                                                                    *
+// **********************************************************************
+//
+//
+//                           Preprocessor Definitions
+//                           ------------------------
+// APP_ENTRY_POINT
+//
+//   Defines the application entry point function, if undefined this setting
+//   defaults to "main".
+//
+// INITIALIZE_STACK
+//
+//   If defined, the contents of the stack will be initialized to a the
+//   value 0xCC.
+//
+// INITIALIZE_SECONDARY_SECTIONS
+//
+//   If defined, the .data2, .text2, .rodata2 and .bss2 sections will be initialized.
+//
+// INITIALIZE_TCM_SECTIONS
+//
+//   If defined, the .data_tcm, .text_tcm, .rodata_tcm and .bss_tcm sections 
+//   will be initialized.
+//
+// INITIALIZE_USER_SECTIONS
+//
+//   If defined, the function InitializeUserMemorySections will be called prior
+//   to entering main in order to allow the user to initialize any user defined
+//   memory sections.
+//
+// FULL_LIBRARY
+//
+//  If defined then 
+//    - argc, argv are setup by the debug_getargs.
+//    - the exit symbol is defined and executes on return from main.
+//    - the exit symbol calls destructors, atexit functions and then debug_exit.
+//  
+//  If not defined then
+//    - argc and argv are zero.
+//    - the exit symbol is defined, executes on return from main and loops
+//
+
+#ifndef APP_ENTRY_POINT
+#define APP_ENTRY_POINT main
+#endif
+
+#ifndef ARGSSPACE
+#define ARGSSPACE 128
+#endif
+  .syntax unified
+
+  .global _start
+  .extern APP_ENTRY_POINT
+  .global exit
+  .weak exit
+
+#ifdef INITIALIZE_USER_SECTIONS
+  .extern InitializeUserMemorySections
+#endif
+
+  .section .init, "ax"
+  .code 16
+  .balign 2
+  .thumb_func
+
+_start:
+  /* Set up main stack if size > 0 */
+  ldr r1, =__stack_end__
+  ldr r0, =__stack_start__
+  subs r2, r1, r0
+  beq 1f
+#ifdef __ARM_EABI__
+  movs r2, #0x7
+  bics r1, r2
+#endif
+  mov sp, r1
+#ifdef INITIALIZE_STACK
+  movs r2, #0xCC
+  ldr r0, =__stack_start__
+  bl memory_set
+#endif
+1:
+
+  /* Set up process stack if size > 0 */
+  ldr r1, =__stack_process_end__
+  ldr r0, =__stack_process_start__
+  subs r2, r1, r0
+  beq 1f
+#ifdef __ARM_EABI__
+  movs r2, #0x7
+  bics r1, r2
+#endif
+  msr psp, r1
+  movs r2, #2
+  msr control, r2
+#ifdef INITIALIZE_STACK
+  movs r2, #0xCC
+  bl memory_set
+#endif
+1:
+
+  /* Copy initialized memory sections into RAM (if necessary). */
+  ldr r0, =__data_load_start__
+  ldr r1, =__data_start__
+  ldr r2, =__data_end__
+  bl memory_copy
+  ldr r0, =__text_load_start__
+  ldr r1, =__text_start__
+  ldr r2, =__text_end__
+  bl memory_copy
+  ldr r0, =__fast_load_start__
+  ldr r1, =__fast_start__
+  ldr r2, =__fast_end__
+  bl memory_copy
+  ldr r0, =__ctors_load_start__
+  ldr r1, =__ctors_start__
+  ldr r2, =__ctors_end__
+  bl memory_copy
+  ldr r0, =__dtors_load_start__
+  ldr r1, =__dtors_start__
+  ldr r2, =__dtors_end__
+  bl memory_copy
+  ldr r0, =__rodata_load_start__
+  ldr r1, =__rodata_start__
+  ldr r2, =__rodata_end__
+  bl memory_copy
+  ldr r0, =__tdata_load_start__
+  ldr r1, =__tdata_start__
+  ldr r2, =__tdata_end__
+  bl memory_copy
+#ifdef INITIALIZE_SECONDARY_SECTIONS
+  ldr r0, =__data2_load_start__
+  ldr r1, =__data2_start__
+  ldr r2, =__data2_end__
+  bl memory_copy
+  ldr r0, =__text2_load_start__
+  ldr r1, =__text2_start__
+  ldr r2, =__text2_end__
+  bl memory_copy
+  ldr r0, =__rodata2_load_start__
+  ldr r1, =__rodata2_start__
+  ldr r2, =__rodata2_end__
+  bl memory_copy
+#endif /* #ifdef INITIALIZE_SECONDARY_SECTIONS */
+#ifdef INITIALIZE_TCM_SECTIONS
+  ldr r0, =__data_tcm_load_start__
+  ldr r1, =__data_tcm_start__
+  ldr r2, =__data_tcm_end__
+  bl memory_copy
+  ldr r0, =__text_tcm_load_start__
+  ldr r1, =__text_tcm_start__
+  ldr r2, =__text_tcm_end__
+  bl memory_copy
+  ldr r0, =__rodata_tcm_load_start__
+  ldr r1, =__rodata_tcm_start__
+  ldr r2, =__rodata_tcm_end__
+  bl memory_copy
+#endif /* #ifdef INITIALIZE_TCM_SECTIONS */
+
+  /* Zero the bss. */
+  ldr r0, =__bss_start__
+  ldr r1, =__bss_end__
+  movs r2, #0
+  bl memory_set
+  ldr r0, =__tbss_start__
+  ldr r1, =__tbss_end__
+  movs r2, #0
+  bl memory_set
+#ifdef INITIALIZE_SECONDARY_SECTIONS
+  ldr r0, =__bss2_start__
+  ldr r1, =__bss2_end__
+  mov r2, #0
+  bl memory_set
+#endif /* #ifdef INITIALIZE_SECONDARY_SECTIONS */
+#ifdef INITIALIZE_TCM_SECTIONS
+  ldr r0, =__bss_tcm_start__
+  ldr r1, =__bss_tcm_end__
+  mov r2, #0
+  bl memory_set
+#endif /* #ifdef INITIALIZE_TCM_SECTIONS */
+
+  /* Initialize the heap */
+  ldr r0, = __heap_start__
+  ldr r1, = __heap_end__
+  subs r1, r1, r0
+  cmp r1, #8
+  blt 1f
+  movs r2, #0
+  str r2, [r0]
+  adds r0, r0, #4
+  str r1, [r0]
+1:
+
+#ifdef INITIALIZE_USER_SECTIONS
+  ldr r2, =InitializeUserMemorySections
+  blx r2
+#endif
+
+  /* Call constructors */
+  ldr r0, =__ctors_start__
+  ldr r1, =__ctors_end__
+ctor_loop:
+  cmp r0, r1
+  beq ctor_end
+  ldr r2, [r0]
+  adds r0, #4
+  push {r0-r1}  
+  blx r2
+  pop {r0-r1}
+  b ctor_loop
+ctor_end:
+
+  /* Setup initial call frame */
+  movs r0, #0
+  mov lr, r0
+  mov r12, sp
+
+  .type start, function
+start:
+  /* Jump to application entry point */
+#ifdef FULL_LIBRARY
+  movs r0, #ARGSSPACE
+  ldr r1, =args
+  ldr r2, =debug_getargs  
+  blx r2
+  ldr r1, =args
+#else
+  movs r0, #0
+  movs r1, #0
+#endif
+  ldr r2, =APP_ENTRY_POINT
+  blx r2
+
+  .thumb_func
+exit:
+#ifdef FULL_LIBRARY  
+  mov r5, r0 // save the exit parameter/return result
+
+  /* Call destructors */
+  ldr r0, =__dtors_start__
+  ldr r1, =__dtors_end__
+dtor_loop:
+  cmp r0, r1
+  beq dtor_end
+  ldr r2, [r0]
+  add r0, #4
+  push {r0-r1}
+  blx r2
+  pop {r0-r1}
+  b dtor_loop
+dtor_end:
+
+  /* Call atexit functions */
+  ldr r2, =_execute_at_exit_fns  
+  blx r2
+
+  /* Call debug_exit with return result/exit parameter */
+  mov r0, r5
+  ldr r2, =debug_exit  
+  blx r2
+#endif
+
+  /* Returned from application entry point, loop forever. */
+exit_loop:
+  b exit_loop
+
+  .thumb_func
+memory_copy:
+  cmp r0, r1
+  beq 2f
+  subs r2, r2, r1
+  beq 2f
+1:
+  ldrb r3, [r0]
+  adds r0, r0, #1
+  strb r3, [r1]
+  adds r1, r1, #1
+  subs r2, r2, #1
+  bne 1b
+2:
+  bx lr
+
+  .thumb_func
+memory_set:
+  cmp r0, r1
+  beq 1f
+  strb r2, [r0]
+  adds r0, r0, #1
+  b memory_set
+1:
+  bx lr
+
+  // default C/C++ library helpers
+
+.macro HELPER helper_name
+  .section .text.\helper_name, "ax", %progbits
+  .balign 2
+  .global \helper_name
+  .weak \helper_name  
+\helper_name:
+  .thumb_func
+.endm
+
+.macro JUMPTO name
+#if defined(__thumb__) && !defined(__thumb2__)
+  mov r12, r0
+  ldr r0, =\name
+  push {r0}
+  mov r0, r12
+  pop {pc}
+#else
+  b \name
+#endif
+.endm
+
+HELPER __aeabi_read_tp
+  ldr r0, =__tbss_start__-8
+  bx lr
+HELPER abort
+  b .
+HELPER __assert
+  b .
+HELPER __aeabi_assert
+  b .
+HELPER __sync_synchronize
+  bx lr
+HELPER __getchar
+  JUMPTO debug_getchar
+HELPER __putchar
+  JUMPTO debug_putchar
+HELPER __open
+  JUMPTO debug_fopen
+HELPER __close
+  JUMPTO debug_fclose
+HELPER __write   
+  mov r3, r0
+  mov r0, r1
+  movs r1, #1  
+  JUMPTO debug_fwrite
+HELPER __read  
+  mov r3, r0
+  mov r0, r1
+  movs r1, #1 
+  JUMPTO debug_fread
+HELPER __seek
+  push {r4, lr}
+  mov r4, r0
+  bl debug_fseek
+  cmp r0, #0
+  bne 1f
+  mov r0, r4
+  bl debug_ftell
+  pop {r4, pc}
+1:
+  ldr r0, =-1
+  pop {r4, pc}
+  // char __user_locale_name_buffer[];
+  .section .bss.__user_locale_name_buffer, "aw", %nobits
+  .global __user_locale_name_buffer
+  .weak __user_locale_name_buffer
+  __user_locale_name_buffer:
+  .word 0x0
+
+#ifdef FULL_LIBRARY
+  .bss
+args:
+  .space ARGSSPACE
+#endif
+
+  /* Setup attibutes of stack and heap sections so they don't take up room in the elf file */
+  .section .stack, "wa", %nobits
+  .section .stack_process, "wa", %nobits
+  .section .heap, "wa", %nobits
+

+ 0 - 0
examples/device/nrf52840_freertos/src/main.c → examples/device_composite_freertos/src/main.c


+ 0 - 0
examples/device/nrf52840_freertos/src/msc_app.c → examples/device_composite_freertos/src/msc_app.c


+ 0 - 0
examples/device/nrf52840_freertos/src/msc_app.h → examples/device_composite_freertos/src/msc_app.h


+ 1 - 1
examples/device/nrf52840_freertos/src/msc_device_ramdisk.c → examples/device_composite_freertos/src/msc_device_ramdisk.c

@@ -36,7 +36,7 @@
 */
 /**************************************************************************/
 
-#include "msc_device_app.h"
+#include "msc_app.h"
 
 #if CFG_TUD_MSC && defined (MSCD_APP_RAMDISK)
 

+ 0 - 0
examples/device/nrf52840_freertos/src/msc_flash_qspi.c → examples/device_composite_freertos/src/msc_flash_qspi.c


+ 0 - 0
examples/device/nrf52840_freertos/src/tusb_config.h → examples/device_composite_freertos/src/tusb_config.h


+ 0 - 0
examples/device/nrf52840_freertos/src/tusb_descriptors.c → examples/device_composite_freertos/src/tusb_descriptors.c