<?xml version="1.0" encoding="utf-8"?>
<!-- File naming: <vendor>_<part/series name>_svd.xml -->
<device schemaVersion="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" noNamespaceSchemaLocation="CMSIS-SVD.xsd">
  <vendor>Nordic Semiconductor</vendor>                           <!-- Name for Doxygroup -->
  <vendorID>Nordic</vendorID>                                     <!-- Vendor ID -->
  <name>nrf51</name>                                              <!-- Official name of part or part series -->
  <series>nrf51</series>
  <version>522</version>                                          <!-- Version of this description. It is the run of the automatic generation of SUS. -->
  <description>nRF51 reference description for radio MCU with ARM 32-bit Cortex-M0 Microcontroller at 16MHz CPU clock</description>
  <licenseText>
Copyright (c) 2010 - 2021, Nordic Semiconductor ASA\n
\n
All rights reserved.\n
\n
Redistribution and use in source and binary forms, with or without modification,\n
are permitted provided that the following conditions are met:\n
\n
1. Redistributions of source code must retain the above copyright notice, this\n
   list of conditions and the following disclaimer.\n
\n
2. Redistributions in binary form, except as embedded into a Nordic\n
   Semiconductor ASA integrated circuit in a product or a software update for\n
   such product, must reproduce the above copyright notice, this list of\n
   conditions and the following disclaimer in the documentation and/or other\n
   materials provided with the distribution.\n
\n
3. Neither the name of Nordic Semiconductor ASA nor the names of its\n
   contributors may be used to endorse or promote products derived from this\n
   software without specific prior written permission.\n
\n
4. This software, with or without modification, must only be used with a\n
   Nordic Semiconductor ASA integrated circuit.\n
\n
5. Any software provided in binary form under this license must not be reverse\n
   engineered, decompiled, modified and/or disassembled.\n
\n
THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS\n
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n
OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE\n
DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE\n
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\n
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT\n
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n
  </licenseText>

  <!-- Register Properties Group -->
  <addressUnitBits>8</addressUnitBits>                            <!-- byte addressable memory -->
  <width>32</width>                                               <!-- bus width is 32 bits -->
  <size>32</size>                                                 <!-- this is the default size (number of bits) of all peripherals
                                                                       and register that do not define "size" themselves              -->
  <resetValue>0x00000000</resetValue>                             <!-- by default all bits of the registers are initialized to 0 on reset -->
  <resetMask>0xFFFFFFFF</resetMask>                               <!-- by default all 32Bits of the registers are used -->

  <cpu>
    <name>CM0</name>
    <revision>r3p1</revision>                                    <!-- CPU Revision r3p1 = 0x2000 -->
    <endian>little</endian>                                      <!-- little, big, configurable (headerfile: little, big, configurable (#ifdef compilerflag)   -->
    <mpuPresent>0</mpuPresent>                                   <!-- Does the CPU has a MPU? {0|1} -->
    <fpuPresent>0</fpuPresent>                                   <!-- Does the CPU has a FPU? {0|1} -->
    <nvicPrioBits>2</nvicPrioBits>                               <!-- Number of NVIC Priority Bits {8..2} -->
    <vendorSystickConfig>0</vendorSystickConfig>                 <!-- Does the Vendor has his own Systick Configuration Function? See CMSIS: core_cm3.h -->
  </cpu>

  <headerSystemFilename>system_nrf51</headerSystemFilename>      <!-- System Header File overwrite -->
  <headerDefinitionsPrefix>NRF_</headerDefinitionsPrefix>        <!-- Prefix for all structs and #defines -->

  <vendorExtensions>
    <ExampleStackSize>2048</ExampleStackSize>                                           <!-- Default stack size used in Nordic's startup_nrf51.s files. [Byte/decimal] -->
    <ExampleHeapSize>2048</ExampleHeapSize>                                             <!-- Default heap size used in Nordic's startup_nrf51.s files. [Byte/decimal] -->
    <MaxInterrupts>32</MaxInterrupts>                                                   <!-- Number of interrupts used in Nordic's startup_nrf51.s files. [Byte/decimal] -->
  </vendorExtensions>

  <peripherals>

    <peripheral>
      <name>POWER</name>
      <version>522</version>
      <description>Power Control.</description>
      <groupName>POWER</groupName>
      <baseAddress>0x40000000</baseAddress>
      <size>32</size>
      <access>read-write</access>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>POWER_CLOCK</name>
        <value>0</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_CONSTLAT</name>
          <description>Enable constant latency mode.</description>
          <addressOffset>0x078</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_LOWPWR</name>
          <description>Enable low power mode (variable latency).</description>
          <addressOffset>0x07C</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <name>EVENTS_POFWARN</name>
          <description>Power failure warning.</description>
          <addressOffset>0x108</addressOffset>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>POFWARN</name>
              <description>Enable interrupt on POFWARN event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>POFWARN</name>
              <description>Disable interrupt on POFWARN event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>RESETREAS</name>
          <description>Reset reason.</description>
          <addressOffset>0x400</addressOffset>
          <fields>
            <field>
              <name>RESETPIN</name>
              <description>Reset from pin-reset detected.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NotDetected</name>
                  <description>Reset not detected.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Detected</name>
                  <description>Reset detected.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DOG</name>
              <description>Reset from watchdog detected.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NotDetected</name>
                  <description>Reset not detected.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Detected</name>
                  <description>Reset detected.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SREQ</name>
              <description>Reset from AIRCR.SYSRESETREQ detected.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NotDetected</name>
                  <description>Reset not detected.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Detected</name>
                  <description>Reset detected.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LOCKUP</name>
              <description>Reset from CPU lock-up detected.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NotDetected</name>
                  <description>Reset not detected.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Detected</name>
                  <description>Reset detected.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OFF</name>
              <description>Reset from wake-up from OFF mode detected by the use of DETECT signal from GPIO.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NotDetected</name>
                  <description>Reset not detected.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Detected</name>
                  <description>Reset detected.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPCOMP</name>
              <description>Reset from wake-up from OFF mode detected by the use of ANADETECT signal from LPCOMP.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NotDetected</name>
                  <description>Reset not detected.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Detected</name>
                  <description>Reset detected.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIF</name>
              <description>Reset from wake-up from OFF mode detected by entering into debug interface mode.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NotDetected</name>
                  <description>Reset not detected.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Detected</name>
                  <description>Reset detected.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>RAMSTATUS</name>
          <description>Ram status register.</description>
          <addressOffset>0x428</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>RAMBLOCK0</name>
              <description>RAM block 0 status.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Off</name>
                  <description>RAM block 0 is off or powering up.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>On</name>
                  <description>RAM block 0 is on.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RAMBLOCK1</name>
              <description>RAM block 1 status.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Off</name>
                  <description>RAM block 1 is off or powering up.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>On</name>
                  <description>RAM block 1 is on.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RAMBLOCK2</name>
              <description>RAM block 2 status.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Off</name>
                  <description>RAM block 2 is off or powering up.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>On</name>
                  <description>RAM block 2 is on.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RAMBLOCK3</name>
              <description>RAM block 3 status.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Off</name>
                  <description>RAM block 3 is off or powering up.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>On</name>
                  <description>RAM block 3 is on.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>SYSTEMOFF</name>
          <description>System off register.</description>
          <addressOffset>0x500</addressOffset>
          <access>write-only</access>
          <fields>
            <field>
              <name>SYSTEMOFF</name>
              <description>Enter system off mode.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Enter</name>
                  <description>Enter system off mode.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>POFCON</name>
          <description>Power failure configuration.</description>
          <addressOffset>0x510</addressOffset>
          <fields>
            <field>
              <name>POF</name>
              <description>Power failure comparator enable.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>THRESHOLD</name>
              <description>Set threshold level.</description>
              <lsb>1</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>V21</name>
                  <description>Set threshold to 2.1Volts.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>V23</name>
                  <description>Set threshold to 2.3Volts.</description>
                  <value>0x01</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>V25</name>
                  <description>Set threshold to 2.5Volts.</description>
                  <value>0x02</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>V27</name>
                  <description>Set threshold to 2.7Volts.</description>
                  <value>0x03</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>GPREGRET</name>
          <description>General purpose retention register. This register is a retained register.</description>
          <addressOffset>0x51C</addressOffset>
          <fields>
            <field>
              <name>GPREGRET</name>
              <description>General purpose retention register.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
          </fields>
        </register>

        <register>
          <name>RAMON</name>
          <description>Ram on/off.</description>
          <addressOffset>0x524</addressOffset>
          <resetValue>0x00000003</resetValue>
          <fields>
            <field>
              <name>ONRAM0</name>
              <description>RAM block 0 behaviour in ON mode.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RAM0Off</name>
                  <description>RAM block 0 OFF in ON mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RAM0On</name>
                  <description>RAM block 0 ON in ON mode.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ONRAM1</name>
              <description>RAM block 1 behaviour in ON mode.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RAM1Off</name>
                  <description>RAM block 1 OFF in ON mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RAM1On</name>
                  <description>RAM block 1 ON in ON mode.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OFFRAM0</name>
              <description>RAM block 0 behaviour in OFF mode.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RAM0Off</name>
                  <description>RAM block 0 OFF in OFF mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RAM0On</name>
                  <description>RAM block 0 ON in OFF mode.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OFFRAM1</name>
              <description>RAM block 1 behaviour in OFF mode.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RAM1Off</name>
                  <description>RAM block 1 OFF in OFF mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RAM1On</name>
                  <description>RAM block 1 ON in OFF mode.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>RESET</name>
          <description>Pin reset functionality configuration register. This register is a retained register.</description>
          <addressOffset>0x544</addressOffset>
          <fields>
            <field>
              <name>RESET</name>
              <description>Enable or disable pin reset in debug interface mode.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Pin reset in debug interface mode disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Pin reset in debug interface mode enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>RAMONB</name>
          <description>Ram on/off.</description>
          <addressOffset>0x554</addressOffset>
          <resetValue>0x00000003</resetValue>
          <fields>
            <field>
              <name>ONRAM2</name>
              <description>RAM block 2 behaviour in ON mode.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RAM2Off</name>
                  <description>RAM block 2 OFF in ON mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RAM2On</name>
                  <description>RAM block 2 ON in ON mode.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ONRAM3</name>
              <description>RAM block 3 behaviour in ON mode.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RAM3Off</name>
                  <description>RAM block 33 OFF in ON mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RAM3On</name>
                  <description>RAM block 3 ON in ON mode.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OFFRAM2</name>
              <description>RAM block 2 behaviour in OFF mode.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RAM2Off</name>
                  <description>RAM block 2 OFF in OFF mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RAM2On</name>
                  <description>RAM block 2 ON in OFF mode.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OFFRAM3</name>
              <description>RAM block 3 behaviour in OFF mode.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RAM3Off</name>
                  <description>RAM block 3 OFF in OFF mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RAM3On</name>
                  <description>RAM block 3 ON in OFF mode.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>DCDCEN</name>
          <description>DCDC converter enable configuration register.</description>
          <addressOffset>0x578</addressOffset>
          <fields>
            <field>
              <name>DCDCEN</name>
              <description>Enable DCDC converter.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DCDC converter disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DCDC converter enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DCDCFORCE</name>
          <description>DCDC power-up force register.</description>
          <addressOffset>0xA08</addressOffset>
          <fields>
            <field>
              <name>FORCEOFF</name>
              <description>DCDC power-up force off.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NoForce</name>
                  <description>No force.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Force</name>
                  <description>Force.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FORCEON</name>
              <description>DCDC power-up force on.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NoForce</name>
                  <description>No force.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Force</name>
                  <description>Force.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
      </registers>
    </peripheral>

    <peripheral>
      <name>CLOCK</name>
      <version>522</version>
      <description>Clock control.</description>
      <groupName>CLOCK</groupName>
      <baseAddress>0x40000000</baseAddress>
      <size>32</size>
      <access>read-write</access>
      <alternatePeripheral>POWER</alternatePeripheral>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>POWER_CLOCK</name>
        <value>0</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_HFCLKSTART</name>
          <description>Start HFCLK clock source.</description>
          <addressOffset>0x000</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_HFCLKSTOP</name>
          <description>Stop HFCLK clock source.</description>
          <addressOffset>0x004</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_LFCLKSTART</name>
          <description>Start LFCLK clock source.</description>
          <addressOffset>0x008</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_LFCLKSTOP</name>
          <description>Stop LFCLK clock source.</description>
          <addressOffset>0x00C</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_CAL</name>
          <description>Start calibration of LFCLK RC oscillator.</description>
          <addressOffset>0x010</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_CTSTART</name>
          <description>Start calibration timer.</description>
          <addressOffset>0x014</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_CTSTOP</name>
          <description>Stop calibration timer.</description>
          <addressOffset>0x018</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <name>EVENTS_HFCLKSTARTED</name>
          <description>HFCLK oscillator started.</description>
          <addressOffset>0x100</addressOffset>
        </register>
        <register>
          <name>EVENTS_LFCLKSTARTED</name>
          <description>LFCLK oscillator started.</description>
          <addressOffset>0x104</addressOffset>
        </register>
        <register>
          <name>EVENTS_DONE</name>
          <description>Calibration of LFCLK RC oscillator completed.</description>
          <addressOffset>0x10C</addressOffset>
        </register>
        <register>
          <name>EVENTS_CTTO</name>
          <description>Calibration timer timeout.</description>
          <addressOffset>0x110</addressOffset>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>HFCLKSTARTED</name>
              <description>Enable interrupt on HFCLKSTARTED event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LFCLKSTARTED</name>
              <description>Enable interrupt on LFCLKSTARTED event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DONE</name>
              <description>Enable interrupt on DONE event.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTTO</name>
              <description>Enable interrupt on CTTO event.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>HFCLKSTARTED</name>
              <description>Disable interrupt on HFCLKSTARTED event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LFCLKSTARTED</name>
              <description>Disable interrupt on LFCLKSTARTED event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DONE</name>
              <description>Disable interrupt on DONE event.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTTO</name>
              <description>Disable interrupt on CTTO event.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>HFCLKRUN</name>
          <description>Task HFCLKSTART trigger status.</description>
          <addressOffset>0x408</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>STATUS</name>
              <description>Task HFCLKSTART trigger status.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NotTriggered</name>
                  <description>Task HFCLKSTART has not been triggered.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Triggered</name>
                  <description>Task HFCLKSTART has been triggered.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>HFCLKSTAT</name>
          <description>High frequency clock status.</description>
          <addressOffset>0x40C</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>SRC</name>
              <description>Active clock source for the HF clock.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RC</name>
                  <description>Internal 16MHz RC oscillator running and generating the HFCLK clock.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Xtal</name>
                  <description>External 16MHz/32MHz crystal oscillator running and generating the HFCLK clock.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>STATE</name>
              <description>State for the HFCLK.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NotRunning</name>
                  <description>HFCLK clock not running.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Running</name>
                  <description>HFCLK clock running.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>LFCLKRUN</name>
          <description>Task LFCLKSTART triggered status.</description>
          <addressOffset>0x414</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>STATUS</name>
              <description>Task LFCLKSTART triggered status.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NotTriggered</name>
                  <description>Task LFCLKSTART has not been triggered.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Triggered</name>
                  <description>Task LFCLKSTART has been triggered.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>LFCLKSTAT</name>
          <description>Low frequency clock status.</description>
          <addressOffset>0x418</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>SRC</name>
              <description>Active clock source for the LF clock.</description>
              <lsb>0</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RC</name>
                  <description>Internal 32KiHz RC oscillator running and generating the LFCLK clock.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Xtal</name>
                  <description>External 32KiHz crystal oscillator running and generating the LFCLK clock.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Synth</name>
                  <description>Internal 32KiHz synthesizer from the HFCLK running and generating the LFCLK clock.</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>STATE</name>
              <description>State for the LF clock.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NotRunning</name>
                  <description>LFCLK clock not running.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Running</name>
                  <description>LFCLK clock running.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>LFCLKSRCCOPY</name>
          <description>Clock source for the LFCLK clock, set when task LKCLKSTART is triggered.</description>
          <addressOffset>0x41C</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>SRC</name>
              <description>Clock source for the LFCLK clock, set when task LKCLKSTART is triggered.</description>
              <lsb>0</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RC</name>
                  <description>Internal 32KiHz RC oscillator.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Xtal</name>
                  <description>External 32KiHz crystal.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Synth</name>
                  <description>Internal 32KiHz synthesizer from HFCLK system clock.</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>LFCLKSRC</name>
          <description>Clock source for the LFCLK clock.</description>
          <addressOffset>0x518</addressOffset>
          <fields>
            <field>
              <name>SRC</name>
              <description>Clock source.</description>
              <lsb>0</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>RC</name>
                  <description>Internal 32KiHz RC oscillator.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Xtal</name>
                  <description>External 32KiHz crystal.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Synth</name>
                  <description>Internal 32KiHz synthesizer from HFCLK system clock.</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>CTIV</name>
          <description>Calibration timer interval.</description>
          <addressOffset>0x538</addressOffset>
          <fields>
            <field>
              <name>CTIV</name>
              <description>Calibration timer interval in 0.25s resolution.</description>
              <lsb>0</lsb> <msb>6</msb>
            </field>
          </fields>
        </register> 
        
        <register>
          <name>XTALFREQ</name>
          <description>Crystal frequency.</description>
          <addressOffset>0x550</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
          <fields>
            <field>
              <name>XTALFREQ</name>
              <description>External Xtal frequency selection.</description>
              <lsb>0</lsb> <msb>7</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>16MHz</name>
                  <description>16MHz xtal is used as source for the HFCLK oscillator.</description>
                  <value>0xFF</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>32MHz</name>
                  <description>32MHz xtal is used as source for the HFCLK oscillator.</description>
                  <value>0x00</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register> 
      </registers>
    </peripheral>

    <peripheral>
      <name>MPU</name>
      <version>522</version>
      <description>Memory Protection Unit.</description>
      <groupName>MPU</groupName>
      <baseAddress>0x40000000</baseAddress>
      <size>32</size>
      <access>read-write</access>
      <alternatePeripheral>POWER</alternatePeripheral>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <registers>
        <register>
          <name>PERR0</name>
          <description>Configuration of peripherals in mpu regions.</description>
          <addressOffset>0x528</addressOffset>
          <fields>
            <field>
              <name>POWER_CLOCK</name>
              <description>POWER_CLOCK region configuration.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RADIO</name>
              <description>RADIO region configuration.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UART0</name>
              <description>UART0 region configuration.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SPI0_TWI0</name>
              <description>SPI0 and TWI0 region configuration.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SPI1_TWI1</name>
              <description>SPI1 and TWI1 region configuration.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GPIOTE</name>
              <description>GPIOTE region configuration.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADC</name>
              <description>ADC region configuration.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIMER0</name>
              <description>TIMER0 region configuration.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIMER1</name>
              <description>TIMER1 region configuration.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIMER2</name>
              <description>TIMER2 region configuration.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RTC0</name>
              <description>RTC0 region configuration.</description>
              <lsb>11</lsb> <msb>11</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TEMP</name>
              <description>TEMP region configuration.</description>
              <lsb>12</lsb> <msb>12</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RNG</name>
              <description>RNG region configuration.</description>
              <lsb>13</lsb> <msb>13</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ECB</name>
              <description>ECB region configuration.</description>
              <lsb>14</lsb> <msb>14</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCM_AAR</name>
              <description>CCM and AAR region configuration.</description>
              <lsb>15</lsb> <msb>15</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WDT</name>
              <description>WDT region configuration.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RTC1</name>
              <description>RTC1 region configuration.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>QDEC</name>
              <description>QDEC region configuration.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPCOMP</name>
              <description>LPCOMP region configuration.</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NVMC</name>
              <description>NVMC region configuration.</description>
              <lsb>30</lsb> <msb>30</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PPI</name>
              <description>PPI region configuration.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>InRegion0</name>
                  <description>Peripheral configured in region 0.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InRegion1</name>
                  <description>Peripheral configured in region 1.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>RLENR0</name>
          <description>Length of RAM region 0.</description>
          <addressOffset>0x52C</addressOffset>
        </register>
        
        <register>
          <name>PROTENSET0</name>
          <description>Erase and write protection bit enable set register.</description>
          <addressOffset>0x600</addressOffset>
          <fields>
            <field>
              <name>PROTREG0</name>
              <description>Protection enable for region 0.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG1</name>
              <description>Protection enable for region 1.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG2</name>
              <description>Protection enable for region 2.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG3</name>
              <description>Protection enable for region 3.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG4</name>
              <description>Protection enable for region 4.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG5</name>
              <description>Protection enable for region 5.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG6</name>
              <description>Protection enable for region 6.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG7</name>
              <description>Protection enable for region 7.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG8</name>
              <description>Protection enable for region 8.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG9</name>
              <description>Protection enable for region 9.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG10</name>
              <description>Protection enable for region 10.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG11</name>
              <description>Protection enable for region 11.</description>
              <lsb>11</lsb> <msb>11</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG12</name>
              <description>Protection enable for region 12.</description>
              <lsb>12</lsb> <msb>12</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG13</name>
              <description>Protection enable for region 13.</description>
              <lsb>13</lsb> <msb>13</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG14</name>
              <description>Protection enable for region 14.</description>
              <lsb>14</lsb> <msb>14</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG15</name>
              <description>Protection enable for region 15.</description>
              <lsb>15</lsb> <msb>15</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG16</name>
              <description>Protection enable for region 16.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG17</name>
              <description>Protection enable for region 17.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG18</name>
              <description>Protection enable for region 18.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG19</name>
              <description>Protection enable for region 19.</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG20</name>
              <description>Protection enable for region 20.</description>
              <lsb>20</lsb> <msb>20</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG21</name>
              <description>Protection enable for region 21.</description>
              <lsb>21</lsb> <msb>21</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG22</name>
              <description>Protection enable for region 22.</description>
              <lsb>22</lsb> <msb>22</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG23</name>
              <description>Protection enable for region 23.</description>
              <lsb>23</lsb> <msb>23</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG24</name>
              <description>Protection enable for region 24.</description>
              <lsb>24</lsb> <msb>24</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG25</name>
              <description>Protection enable for region 25.</description>
              <lsb>25</lsb> <msb>25</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG26</name>
              <description>Protection enable for region 26.</description>
              <lsb>26</lsb> <msb>26</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG27</name>
              <description>Protection enable for region 27.</description>
              <lsb>27</lsb> <msb>27</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG28</name>
              <description>Protection enable for region 28.</description>
              <lsb>28</lsb> <msb>28</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG29</name>
              <description>Protection enable for region 29.</description>
              <lsb>29</lsb> <msb>29</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG30</name>
              <description>Protection enable for region 30.</description>
              <lsb>30</lsb> <msb>30</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG31</name>
              <description>Protection enable for region 31.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>PROTENSET1</name>
          <description>Erase and write protection bit enable set register.</description>
          <addressOffset>0x604</addressOffset>
          <fields>
            <field>
              <name>PROTREG32</name>
              <description>Protection enable for region 32.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG33</name>
              <description>Protection enable for region 33.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG34</name>
              <description>Protection enable for region 34.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG35</name>
              <description>Protection enable for region 35.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG36</name>
              <description>Protection enable for region 36.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG37</name>
              <description>Protection enable for region 37.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG38</name>
              <description>Protection enable for region 38.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG39</name>
              <description>Protection enable for region 39.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG40</name>
              <description>Protection enable for region 40.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG41</name>
              <description>Protection enable for region 41.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG42</name>
              <description>Protection enable for region 42.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG43</name>
              <description>Protection enable for region 43.</description>
              <lsb>11</lsb> <msb>11</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG44</name>
              <description>Protection enable for region 44.</description>
              <lsb>12</lsb> <msb>12</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG45</name>
              <description>Protection enable for region 45.</description>
              <lsb>13</lsb> <msb>13</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG46</name>
              <description>Protection enable for region 46.</description>
              <lsb>14</lsb> <msb>14</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG47</name>
              <description>Protection enable for region 47.</description>
              <lsb>15</lsb> <msb>15</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG48</name>
              <description>Protection enable for region 48.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG49</name>
              <description>Protection enable for region 49.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG50</name>
              <description>Protection enable for region 50.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG51</name>
              <description>Protection enable for region 51.</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG52</name>
              <description>Protection enable for region 52.</description>
              <lsb>20</lsb> <msb>20</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG53</name>
              <description>Protection enable for region 53.</description>
              <lsb>21</lsb> <msb>21</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG54</name>
              <description>Protection enable for region 54.</description>
              <lsb>22</lsb> <msb>22</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG55</name>
              <description>Protection enable for region 55.</description>
              <lsb>23</lsb> <msb>23</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG56</name>
              <description>Protection enable for region 56.</description>
              <lsb>24</lsb> <msb>24</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG57</name>
              <description>Protection enable for region 57.</description>
              <lsb>25</lsb> <msb>25</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG58</name>
              <description>Protection enable for region 58.</description>
              <lsb>26</lsb> <msb>26</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG59</name>
              <description>Protection enable for region 59.</description>
              <lsb>27</lsb> <msb>27</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG60</name>
              <description>Protection enable for region 60.</description>
              <lsb>28</lsb> <msb>28</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG61</name>
              <description>Protection enable for region 61.</description>
              <lsb>29</lsb> <msb>29</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG62</name>
              <description>Protection enable for region 62.</description>
              <lsb>30</lsb> <msb>30</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROTREG63</name>
              <description>Protection enable for region 63.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable protection on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>DISABLEINDEBUG</name>
          <description>Disable erase and write protection mechanism in debug mode.</description>
          <addressOffset>0x608</addressOffset>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>DISABLEINDEBUG</name>
              <description>Disable protection mechanism in debug mode.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Protection enabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Protection disabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>PROTBLOCKSIZE</name>
          <description>Erase and write protection block size.</description>
          <addressOffset>0x60C</addressOffset>
          <fields>
            <field>
              <name>PROTBLOCKSIZE</name>
              <description>Erase and write protection block size.</description>
              <lsb>0</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>4k</name>
                  <description>Erase and write protection block size is 4k.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
      </registers>
    </peripheral>

    <peripheral>
      <name>RADIO</name>
      <version>522</version>
      <description>The radio.</description>
      <baseAddress>0x40001000</baseAddress>
      <groupName>RADIO</groupName>
      <size>32</size>
      <access>read-write</access>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>RADIO</name>
        <value>1</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_TXEN</name>
          <description>Enable radio in TX mode.</description>
          <addressOffset>0x000</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_RXEN</name>
          <description>Enable radio in RX mode.</description>
          <addressOffset>0x004</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_START</name>
          <description>Start radio.</description>
          <addressOffset>0x008</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_STOP</name>
          <description>Stop radio.</description>
          <addressOffset>0x00C</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_DISABLE</name>
          <description>Disable radio.</description>
          <addressOffset>0x010</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_RSSISTART</name>
          <description>Start the RSSI and take one sample of the receive signal strength.</description>
          <addressOffset>0x014</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_RSSISTOP</name>
          <description>Stop the RSSI measurement.</description>
          <addressOffset>0x018</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_BCSTART</name>
          <description>Start the bit counter.</description>
          <addressOffset>0x01C</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_BCSTOP</name>
          <description>Stop the bit counter.</description>
          <addressOffset>0x020</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <name>EVENTS_READY</name>
          <description>Ready event.</description>
          <addressOffset>0x100</addressOffset>
        </register>
        <register>
          <name>EVENTS_ADDRESS</name>
          <description>Address event.</description>
          <addressOffset>0x104</addressOffset>
        </register>
        <register>
          <name>EVENTS_PAYLOAD</name>
          <description>Payload event.</description>
          <addressOffset>0x108</addressOffset>
        </register>
        <register>
          <name>EVENTS_END</name>
          <description>End event.</description>
          <addressOffset>0x10C</addressOffset>
        </register>
        <register>
          <name>EVENTS_DISABLED</name>
          <description>Disable event.</description>
          <addressOffset>0x110</addressOffset>
        </register>
        <register>
          <name>EVENTS_DEVMATCH</name>
          <description>A device address match occurred on the last received packet.</description>
          <addressOffset>0x114</addressOffset>
        </register>
        <register>
          <name>EVENTS_DEVMISS</name>
          <description>No device address match occurred on the last received packet.</description>
          <addressOffset>0x118</addressOffset>
        </register>
        <register>
          <name>EVENTS_RSSIEND</name>
          <description>Sampling of the receive signal strength complete. A new RSSI sample is ready for readout at the RSSISAMPLE register.</description>
          <addressOffset>0x11C</addressOffset>
        </register>
        <register>
          <name>EVENTS_BCMATCH</name>
          <description>Bit counter reached bit count value specified in BCC register.</description>
          <addressOffset>0x128</addressOffset>
        </register>

        <register>
          <name>SHORTS</name>
          <description>Shortcuts for the radio.</description>
          <addressOffset>0x200</addressOffset>
          <fields>
            <field>
              <name>READY_START</name>
              <description>Shortcut between READY event and START task.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>END_DISABLE</name>
              <description>Shortcut between END event and DISABLE task.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DISABLED_TXEN</name>
              <description>Shortcut between DISABLED event and TXEN task. </description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DISABLED_RXEN</name>
              <description>Shortcut between DISABLED event and RXEN task.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDRESS_RSSISTART</name>
              <description>Shortcut between ADDRESS event and RSSISTART task.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>END_START</name>
              <description>Shortcut between END event and START task.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDRESS_BCSTART</name>
              <description>Shortcut between ADDRESS event and BCSTART task.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DISABLED_RSSISTOP</name>
              <description>Shortcut between DISABLED event and RSSISTOP task.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>READY</name>
              <description>Enable interrupt on READY event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDRESS</name>
              <description>Enable interrupt on ADDRESS event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PAYLOAD</name>
              <description>Enable interrupt on PAYLOAD event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>END</name>
              <description>Enable interrupt on END event.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DISABLED</name>
              <description>Enable interrupt on DISABLED event.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DEVMATCH</name>
              <description>Enable interrupt on DEVMATCH event.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DEVMISS</name>
              <description>Enable interrupt on DEVMISS event.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RSSIEND</name>
              <description>Enable interrupt on RSSIEND event.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BCMATCH</name>
              <description>Enable interrupt on BCMATCH event.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>READY</name>
              <description>Disable interrupt on READY event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDRESS</name>
              <description>Disable interrupt on ADDRESS event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PAYLOAD</name>
              <description>Disable interrupt on PAYLOAD event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>END</name>
              <description>Disable interrupt on END event.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DISABLED</name>
              <description>Disable interrupt on DISABLED event.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DEVMATCH</name>
              <description>Disable interrupt on DEVMATCH event.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DEVMISS</name>
              <description>Disable interrupt on DEVMISS event.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RSSIEND</name>
              <description>Disable interrupt on RSSIEND event.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BCMATCH</name>
              <description>Disable interrupt on BCMATCH event.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>CRCSTATUS</name>
          <description>CRC status of received packet.</description>
          <addressOffset>0x400</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>CRCSTATUS</name>
              <description>CRC status of received packet.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CRCError</name>
                  <description>Packet received with CRC error.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CRCOk</name>
                  <description>Packet received with CRC ok.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>RXMATCH</name>
          <description>Received address.</description>
          <addressOffset>0x408</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>RXMATCH</name>
              <description>Logical address in which previous packet was received.</description>
              <lsb>0</lsb> <msb>2</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>RXCRC</name>
          <description>Received CRC.</description>
          <addressOffset>0x40C</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>RXCRC</name>
              <description>CRC field of previously received packet.</description>
              <lsb>0</lsb> <msb>23</msb>
            </field>
          </fields>
        </register>

        <register>
          <name>DAI</name>
          <description>Device address match index.</description>
          <addressOffset>0x410</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>DAI</name>
              <description>Index (n) of device address (see DAB[n] and DAP[n]) that obtained an address match.</description>
              <lsb>0</lsb> <msb>2</msb>
            </field>
          </fields>
        </register>

        <register>
          <name>PACKETPTR</name>
          <description>Packet pointer. Decision point: START task.</description>
          <addressOffset>0x504</addressOffset>
        </register>
        
        <register>
          <name>FREQUENCY</name>
          <description>Frequency.</description>
          <addressOffset>0x508</addressOffset>
          <resetValue>0x00000002</resetValue>
          <fields>
            <field>
              <name>FREQUENCY</name>
              <description>Radio channel frequency offset in MHz: RF Frequency = 2400 + FREQUENCY (MHz). Decision point: TXEN or RXEN task. </description>
              <lsb>0</lsb> <msb>6</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>TXPOWER</name>
          <description>Output power.</description>
          <addressOffset>0x50C</addressOffset>
          <fields>
            <field>
              <name>TXPOWER</name>
              <description>Radio output power. Decision point: TXEN task.</description>
              <lsb>0</lsb> <msb>7</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Pos4dBm</name>
                  <description>+4dBm.</description>
                  <value>0x04</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>0dBm</name>
                  <description>0dBm.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Neg4dBm</name>
                  <description>-4dBm.</description>
                  <value>0xFC</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Neg8dBm</name>
                  <description>-8dBm.</description>
                  <value>0xF8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Neg12dBm</name>
                  <description>-12dBm.</description>
                  <value>0xF4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Neg16dBm</name>
                  <description>-16dBm.</description>
                  <value>0xF0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Neg20dBm</name>
                  <description>-20dBm.</description>
                  <value>0xEC</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Neg30dBm</name>
                  <description>-30dBm.</description>
                  <value>0xD8</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>MODE</name>
          <description>Data rate and modulation.</description>
          <addressOffset>0x510</addressOffset>
          <fields>
            <field>
              <name>MODE</name>
              <description>Radio data rate and modulation setting. Decision point: TXEN or RXEN task.</description>
              <lsb>0</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Nrf_1Mbit</name>
                  <description>1Mbit/s Nordic propietary radio mode.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Nrf_2Mbit</name>
                  <description>2Mbit/s Nordic propietary radio mode.</description>
                  <value>0x01</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Nrf_250Kbit</name>
                  <description>250kbit/s Nordic propietary radio mode.</description>
                  <value>0x02</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ble_1Mbit</name>
                  <description>1Mbit/s Bluetooth Low Energy</description>
                  <value>0x03</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PCNF0</name>
          <description>Packet configuration 0.</description>
          <addressOffset>0x514</addressOffset>
          <fields>
            <field>
              <name>LFLEN</name>
              <description>Length of length field in number of bits. Decision point: START task.</description>
              <lsb>0</lsb> <msb>3</msb>
            </field>
            <field>
              <name>S0LEN</name>
              <description>Length of S0 field in number of bytes. Decision point: START task.</description>
              <lsb>8</lsb> <msb>8</msb>
            </field>
            <field>
              <name>S1LEN</name>
              <description>Length of S1 field in number of bits. Decision point: START task.</description>
              <lsb>16</lsb> <msb>19</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>PCNF1</name>
          <description>Packet configuration 1.</description>
          <addressOffset>0x518</addressOffset>
          <fields>
            <field>
              <name>MAXLEN</name>
              <description>Maximum length of packet payload in number of bytes.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
            <field>
              <name>STATLEN</name>
              <description>Static length in number of bytes. Decision point: START task.</description>
              <lsb>8</lsb> <msb>15</msb>
            </field>
            <field>
              <name>BALEN</name>
              <description>Base address length in number of bytes. Decision point: START task.</description>
              <lsb>16</lsb> <msb>18</msb>
            </field>
            <field>
              <name>ENDIAN</name>
              <description>On air endianness of packet length field. Decision point: START task.</description>
              <lsb>24</lsb> <msb>24</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Little</name>
                  <description>Least significant bit on air first</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Big</name>
                  <description>Most significant bit on air first</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WHITEEN</name>
              <description>Packet whitening enable.</description>
              <lsb>25</lsb> <msb>25</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Whitening disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Whitening enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>BASE0</name>
          <description>Radio base address 0. Decision point: START task.</description>
          <addressOffset>0x51C</addressOffset>
        </register>
        <register>
          <name>BASE1</name>
          <description>Radio base address 1. Decision point: START task.</description>
          <addressOffset>0x520</addressOffset>
        </register>
        <register>
          <name>PREFIX0</name>
          <description>Prefixes bytes for logical addresses 0 to 3.</description>
          <addressOffset>0x524</addressOffset>
          <fields>
            <field>
              <name>AP0</name>
              <description>Address prefix 0. Decision point: START task.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
            <field>
              <name>AP1</name>
              <description>Address prefix 1. Decision point: START task.</description>
              <lsb>8</lsb> <msb>15</msb>
            </field>
            <field>
              <name>AP2</name>
              <description>Address prefix 2. Decision point: START task.</description>
              <lsb>16</lsb> <msb>23</msb>
            </field>
            <field>
              <name>AP3</name>
              <description>Address prefix 3. Decision point: START task.</description>
              <lsb>24</lsb> <msb>31</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>PREFIX1</name>
          <description>Prefixes bytes for logical addresses 4 to 7.</description>
          <addressOffset>0x528</addressOffset>
          <fields>
            <field>
              <name>AP4</name>
              <description>Address prefix 4. Decision point: START task.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
            <field>
              <name>AP5</name>
              <description>Address prefix 5. Decision point: START task.</description>
              <lsb>8</lsb> <msb>15</msb>
            </field>
            <field>
              <name>AP6</name>
              <description>Address prefix 6. Decision point: START task.</description>
              <lsb>16</lsb> <msb>23</msb>
            </field>
            <field>
              <name>AP7</name>
              <description>Address prefix 7. Decision point: START task.</description>
              <lsb>24</lsb> <msb>31</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>TXADDRESS</name>
          <description>Transmit address select.</description>
          <addressOffset>0x52C</addressOffset>
          <fields>
            <field>
              <name>TXADDRESS</name>
              <description>Logical address to be used when transmitting a packet. Decision point: START task.</description>
              <lsb>0</lsb> <msb>2</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>RXADDRESSES</name>
          <description>Receive address select.</description>
          <addressOffset>0x530</addressOffset>
          <fields>
            <field>
              <name>ADDR0</name>
              <description>Enable reception on logical address 0. Decision point: START task.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Reception disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Reception enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDR1</name>
              <description>Enable reception on logical address 1. Decision point: START task.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Reception disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Reception enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDR2</name>
              <description>Enable reception on logical address 2. Decision point: START task.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Reception disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Reception enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDR3</name>
              <description>Enable reception on logical address 3. Decision point: START task.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Reception disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Reception enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDR4</name>
              <description>Enable reception on logical address 4. Decision point: START task.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Reception disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Reception enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDR5</name>
              <description>Enable reception on logical address 5. Decision point: START task.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Reception disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Reception enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDR6</name>
              <description>Enable reception on logical address 6. Decision point: START task.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Reception disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Reception enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDR7</name>
              <description>Enable reception on logical address 7. Decision point: START task.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Reception disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Reception enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CRCCNF</name>
          <description>CRC configuration.</description>
          <addressOffset>0x534</addressOffset>
          <fields>
            <field>
              <name>LEN</name>
              <description>CRC length. Decision point: START task.</description>
              <lsb>0</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CRC calculation disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>One</name>
                  <description>One byte long CRC.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Two</name>
                  <description>Two bytes long CRC.</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Three</name>
                  <description>Three bytes long CRC.</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SKIPADDR</name>
              <description>Leave packet address field out of the CRC calculation. Decision point: START task.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Include</name>
                  <description>Include packet address in CRC calculation.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Skip</name>
                  <description>Packet address is skipped in CRC calculation. The CRC calculation will start at the first byte after the address.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CRCPOLY</name>
          <description>CRC polynomial.</description>
          <addressOffset>0x538</addressOffset>
          <fields>
            <field>
              <name>CRCPOLY</name>
              <description>CRC polynomial. Decision point: START task.</description>
              <lsb>0</lsb> <msb>23</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>CRCINIT</name>
          <description>CRC initial value.</description>
          <addressOffset>0x53C</addressOffset>
          <fields>
            <field>
              <name>CRCINIT</name>
              <description>Initial value for CRC calculation. Decision point: START task.</description>
              <lsb>0</lsb> <msb>23</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>TEST</name>
          <description>Test features enable register.</description>
          <addressOffset>0x540</addressOffset>
          <fields>
            <field>
              <name>CONSTCARRIER</name>
              <description>Constant carrier. Decision point: TXEN task.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Constant carrier disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Constant carrier enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PLLLOCK</name>
              <description>PLL lock. Decision point: TXEN or RXEN task.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>PLL lock disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>PLL lock enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>TIFS</name>
          <description>Inter Frame Spacing in microseconds.</description>
          <addressOffset>0x544</addressOffset>
          <fields>
            <field>
              <name>TIFS</name>
              <description>Inter frame spacing in microseconds. Decision point: START rask</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
          </fields>
        </register>

        <register>
          <name>RSSISAMPLE</name>
          <description>RSSI sample.</description>
          <addressOffset>0x548</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>RSSISAMPLE</name>
              <description>RSSI sample result. The result is read as a positive value so that ReceivedSignalStrength = -RSSISAMPLE dBm</description>
              <lsb>0</lsb> <msb>6</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>STATE</name>
          <description>Current radio state.</description>
          <addressOffset>0x550</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>STATE</name>
              <description>Current radio state.</description>
              <lsb>0</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Radio is in the Disabled state.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RxRu</name>
                  <description>Radio is in the Rx Ramp Up state.</description>
                  <value>0x01</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RxIdle</name>
                  <description>Radio is in the Rx Idle state.</description>
                  <value>0x02</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Rx</name>
                  <description>Radio is in the Rx state.</description>
                  <value>0x03</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RxDisable</name>
                  <description>Radio is in the Rx Disable state.</description>
                  <value>0x04</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TxRu</name>
                  <description>Radio is in the Tx Ramp Up state.</description>
                  <value>0x09</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TxIdle</name>
                  <description>Radio is in the Tx Idle state.</description>
                  <value>0x0A</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Tx</name>
                  <description>Radio is in the Tx state.</description>
                  <value>0x0B</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TxDisable</name>
                  <description>Radio is in the Tx Disable state.</description>
                  <value>0x0C</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DATAWHITEIV</name>
          <description>Data whitening initial value.</description>
          <addressOffset>0x554</addressOffset>
          <resetValue>0x00000040</resetValue>
          <fields>
            <field>
              <name>DATAWHITEIV</name>
              <description>Data whitening initial value. Bit 0 corresponds to Position 0 of the LSFR, Bit 1 to position 5... Decision point: TXEN or RXEN task.</description>
              <lsb>0</lsb> <msb>6</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>BCC</name>
          <description>Bit counter compare.</description>
          <addressOffset>0x560</addressOffset>
        </register>

        <register>
          <dim>8</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>DAB[%s]</name>
          <description>Device address base segment.</description>
          <addressOffset>0x600</addressOffset>
        </register>
        <register>
          <dim>8</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>DAP[%s]</name>
          <description>Device address prefix.</description>
          <addressOffset>0x620</addressOffset>
          <fields>
            <field>
              <name>DAP</name>
              <description>Device address prefix.</description>
              <lsb>0</lsb> <msb>15</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>DACNF</name>
          <description>Device address match configuration.</description>
          <addressOffset>0x640</addressOffset>
          <fields>
            <field>
              <name>ENA0</name>
              <description>Enable or disable device address matching using device address 0.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENA1</name>
              <description>Enable or disable device address matching using device address 1.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENA2</name>
              <description>Enable or disable device address matching using device address 2.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENA3</name>
              <description>Enable or disable device address matching using device address 3.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENA4</name>
              <description>Enable or disable device address matching using device address 4.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENA5</name>
              <description>Enable or disable device address matching using device address 5.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENA6</name>
              <description>Enable or disable device address matching using device address 6.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENA7</name>
              <description>Enable or disable device address matching using device address 7.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXADD0</name>
              <description>TxAdd for device address 0.</description>
              <lsb>8</lsb> <msb>8</msb>
            </field>
            <field>
              <name>TXADD1</name>
              <description>TxAdd for device address 1.</description>
              <lsb>9</lsb> <msb>9</msb>
            </field>
            <field>
              <name>TXADD2</name>
              <description>TxAdd for device address 2.</description>
              <lsb>10</lsb> <msb>10</msb>
            </field>
            <field>
              <name>TXADD3</name>
              <description>TxAdd for device address 3.</description>
              <lsb>11</lsb> <msb>11</msb>
            </field>
            <field>
              <name>TXADD4</name>
              <description>TxAdd for device address 4.</description>
              <lsb>12</lsb> <msb>12</msb>
            </field>
            <field>
              <name>TXADD5</name>
              <description>TxAdd for device address 5.</description>
              <lsb>13</lsb> <msb>13</msb>
            </field>
            <field>
              <name>TXADD6</name>
              <description>TxAdd for device address 6.</description>
              <lsb>14</lsb> <msb>14</msb>
            </field>
            <field>
              <name>TXADD7</name>
              <description>TxAdd for device address 7.</description>
              <lsb>15</lsb> <msb>15</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>OVERRIDE0</name>
          <description>Trim value override register 0.</description>
          <addressOffset>0x724</addressOffset>
          <fields>
            <field>
              <name>OVERRIDE0</name>
              <description>Trim value override 0.</description>
              <lsb>0</lsb> <msb>31</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>OVERRIDE1</name>
          <description>Trim value override register 1.</description>
          <addressOffset>0x728</addressOffset>
          <fields>
            <field>
              <name>OVERRIDE1</name>
              <description>Trim value override 1.</description>
              <lsb>0</lsb> <msb>31</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>OVERRIDE2</name>
          <description>Trim value override register 2.</description>
          <addressOffset>0x72C</addressOffset>
          <fields>
            <field>
              <name>OVERRIDE2</name>
              <description>Trim value override 2.</description>
              <lsb>0</lsb> <msb>31</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>OVERRIDE3</name>
          <description>Trim value override register 3.</description>
          <addressOffset>0x730</addressOffset>
          <fields>
            <field>
              <name>OVERRIDE3</name>
              <description>Trim value override 3.</description>
              <lsb>0</lsb> <msb>31</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>OVERRIDE4</name>
          <description>Trim value override register 4.</description>
          <addressOffset>0x734</addressOffset>
          <fields>
            <field>
              <name>OVERRIDE4</name>
              <description>Trim value override 4.</description>
              <lsb>0</lsb> <msb>27</msb>
            </field>
            <field>
              <name>ENABLE</name>
              <description>Enable or disable override of default trim values.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Override trim values disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Override trim values enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

      </registers>
    </peripheral>

    <peripheral>
      <name>UART0</name>
      <version>522</version>
      <description>Universal Asynchronous Receiver/Transmitter.</description>
      <baseAddress>0x40002000</baseAddress>
      <groupName>UART</groupName>
      <size>32</size>
      <access>read-write</access>
      <headerStructName>UART</headerStructName>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>UART0</name>
        <value>2</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_STARTRX</name>
          <description>Start UART receiver.</description>
          <addressOffset>0x000</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_STOPRX</name>
          <description>Stop UART receiver.</description>
          <addressOffset>0x004</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_STARTTX</name>
          <description>Start UART transmitter.</description>
          <addressOffset>0x008</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_STOPTX</name>
          <description>Stop UART transmitter.</description>
          <addressOffset>0x00C</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_SUSPEND</name>
          <description>Suspend UART.</description>
          <addressOffset>0x01C</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <name>EVENTS_CTS</name>
          <description>CTS activated.</description>
          <addressOffset>0x100</addressOffset>
        </register>
        <register>
          <name>EVENTS_NCTS</name>
          <description>CTS deactivated.</description>
          <addressOffset>0x104</addressOffset>
        </register>
        <register>
          <name>EVENTS_RXDRDY</name>
          <description>Data received in RXD.</description>
          <addressOffset>0x108</addressOffset>
        </register>
        <register>
          <name>EVENTS_TXDRDY</name>
          <description>Data sent from TXD.</description>
          <addressOffset>0x11C</addressOffset>
        </register>
        <register>
          <name>EVENTS_ERROR</name>
          <description>Error detected.</description>
          <addressOffset>0x124</addressOffset>
        </register>
        <register>
          <name>EVENTS_RXTO</name>
          <description>Receiver timeout.</description>
          <addressOffset>0x144</addressOffset>
        </register>
        
        <register>
          <name>SHORTS</name>
          <description>Shortcuts for UART.</description>
          <addressOffset>0x200</addressOffset>
          <fields>
            <field>
              <name>CTS_STARTRX</name>
              <description>Shortcut between CTS event and STARTRX task.</description>
              <lsb>3</lsb>
              <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NCTS_STOPRX</name>
              <description>Shortcut between NCTS event and STOPRX task.</description>
              <lsb>4</lsb>
              <msb>4</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>CTS</name>
              <description>Enable interrupt on CTS event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NCTS</name>
              <description>Enable interrupt on NCTS event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXDRDY</name>
              <description>Enable interrupt on RXRDY event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXDRDY</name>
              <description>Enable interrupt on TXRDY event.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERROR</name>
              <description>Enable interrupt on ERROR event.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXTO</name>
              <description>Enable interrupt on RXTO event.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>CTS</name>
              <description>Disable interrupt on CTS event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NCTS</name>
              <description>Disable interrupt on NCTS event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXDRDY</name>
              <description>Disable interrupt on RXRDY event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXDRDY</name>
              <description>Disable interrupt on TXRDY event.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERROR</name>
              <description>Disable interrupt on ERROR event.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXTO</name>
              <description>Disable interrupt on RXTO event.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>ERRORSRC</name>
          <description>Error source. Write error field to 1 to clear error.</description>
          <addressOffset>0x480</addressOffset>
          <fields>
            <field>
              <name>OVERRUN</name>
              <description>A start bit is received while the previous data still lies in RXD. (Data loss).</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotPresent</name>
                  <description>Error not present.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Present</name>
                  <description>Error present.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear error on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PARITY</name>
              <description>A character with bad parity is received. Only checked if HW parity control is enabled.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotPresent</name>
                  <description>Error not present.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Present</name>
                  <description>Error present.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear error on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FRAMING</name>
              <description>A valid stop bit is not detected on the serial data input after all bits in a character have been received.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotPresent</name>
                  <description>Error not present.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Present</name>
                  <description>Error present.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear error on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BREAK</name>
              <description>The serial data input is '0' for longer than the length of a data frame.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotPresent</name>
                  <description>Error not present.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Present</name>
                  <description>Error present.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear error on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>ENABLE</name>
          <description>Enable UART and acquire IOs.</description>
          <addressOffset>0x500</addressOffset>
          <fields>
            <field>
              <name>ENABLE</name>
              <description>Enable or disable UART and acquire IOs.</description>
              <lsb>0</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>UART disabled.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>UART enabled.</description>
                  <value>0x04</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PSELRTS</name>
          <description>Pin select for RTS.</description>
          <addressOffset>0x508</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>
        <register>
          <name>PSELTXD</name>
          <description>Pin select for TXD.</description>
          <addressOffset>0x50C</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>
        <register>
          <name>PSELCTS</name>
          <description>Pin select for CTS.</description>
          <addressOffset>0x510</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>
        <register>
          <name>PSELRXD</name>
          <description>Pin select for RXD.</description>
          <addressOffset>0x514</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>
        
        <register>
          <name>RXD</name>
          <description>RXD register. On read action the buffer pointer is displaced. Once read the character is consumed. If read when no character available, the UART will stop working.</description>
          <addressOffset>0x518</addressOffset>
          <access>read-only</access>
          <readAction>modifyExternal</readAction>
          <fields>
            <field>
              <name>RXD</name>
              <description>RX data from previous transfer. Double buffered.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>TXD</name>
          <description>TXD register.</description>
          <addressOffset>0x51C</addressOffset>
          <access>write-only</access>
          <fields>
            <field>
              <name>TXD</name>
              <description>TX data for transfer.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>BAUDRATE</name>
          <description>UART Baudrate.</description>
          <addressOffset>0x524</addressOffset>
          <fields>
            <field>
              <name>BAUDRATE</name>
              <description>UART baudrate.</description>
              <lsb>0</lsb> <msb>31</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Baud1200</name>
                  <description>1200 baud.</description>
                  <value>0x0004F000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud2400</name>
                  <description>2400 baud.</description>
                  <value>0x0009D000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud4800</name>
                  <description>4800 baud.</description>
                  <value>0x0013B000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud9600</name>
                  <description>9600 baud.</description>
                  <value>0x00275000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud14400</name>
                  <description>14400 baud.</description>
                  <value>0x003B0000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud19200</name>
                  <description>19200 baud.</description>
                  <value>0x004EA000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud28800</name>
                  <description>28800 baud.</description>
                  <value>0x0075F000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud31250</name>
                  <description>31250 baud.</description>
                  <value>0x00800000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud38400</name>
                  <description>38400 baud.</description>
                  <value>0x009D5000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud56000</name>
                  <description>56000 baud.</description>
                  <value>0x00E50000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud57600</name>
                  <description>57600 baud.</description>
                  <value>0x00EBF000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud76800</name>
                  <description>76800 baud.</description>
                  <value>0x013A9000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud115200</name>
                  <description>115200 baud.</description>
                  <value>0x01D7E000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud230400</name>
                  <description>230400 baud.</description>
                  <value>0x03AFB000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud250000</name>
                  <description>250000 baud.</description>
                  <value>0x04000000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud460800</name>
                  <description>460800 baud.</description>
                  <value>0x075F7000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud921600</name>
                  <description>921600 baud.</description>
                  <value>0x0EBED000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Baud1M</name>
                  <description>1M baud.</description>
                  <value>0x10000000</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CONFIG</name>
          <description>Configuration of parity and hardware flow control register.</description>
          <addressOffset>0x56C</addressOffset>
          <fields>
            <field>
              <name>HWFC</name>
              <description>Hardware flow control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Hardware flow control disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Hardware flow control enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PARITY</name>
              <description>Include parity bit.</description>
              <lsb>1</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Parity bit excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Parity bit included.</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
      </registers>
    </peripheral>

    <peripheral>
      <name>SPI0</name>
      <version>522</version>
      <description>SPI master 0.</description>
      <baseAddress>0x40003000</baseAddress>
      <groupName>SPI</groupName>
      <size>32</size>
      <access>read-write</access>
      <headerStructName>SPI</headerStructName>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>SPI0_TWI0</name>
        <value>3</value>
      </interrupt>

      <registers>

        <register>
          <name>EVENTS_READY</name>
          <description>TXD byte sent and RXD byte received.</description>
          <addressOffset>0x108</addressOffset>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>READY</name>
              <description>Enable interrupt on READY event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>READY</name>
              <description>Disable interrupt on READY event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>ENABLE</name>
          <description>Enable SPI.</description>
          <addressOffset>0x500</addressOffset>
          <fields>
            <field>
              <name>ENABLE</name>
              <description>Enable or disable SPI.</description>
              <lsb>0</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled SPI.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable SPI.</description>
                  <value>0x01</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>PSELSCK</name>
          <description>Pin select for SCK.</description>
          <addressOffset>0x508</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>
        <register>
          <name>PSELMOSI</name>
          <description>Pin select for MOSI.</description>
          <addressOffset>0x50C</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>
        <register>
          <name>PSELMISO</name>
          <description>Pin select for MISO.</description>
          <addressOffset>0x510</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>

        <register>
          <name>RXD</name>
          <description>RX data.</description>
          <addressOffset>0x518</addressOffset>
          <access>read-only</access>
          <readAction>modifyExternal</readAction>
          <fields>
            <field>
              <name>RXD</name>
              <description>RX data from last transfer.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>TXD</name>
          <description>TX data.</description>
          <addressOffset>0x51C</addressOffset>
          <fields>
            <field>
              <name>TXD</name>
              <description>TX data for next transfer.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>FREQUENCY</name>
          <description>SPI frequency</description>
          <addressOffset>0x524</addressOffset>
          <resetValue>0x04000000</resetValue>
          <fields>
            <field>
              <name>FREQUENCY</name>
              <description>SPI data rate.</description>
              <lsb>0</lsb> <msb>31</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>K125</name>
                  <description>125kbps.</description>
                  <value>0x02000000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>K250</name>
                  <description>250kbps.</description>
                  <value>0x04000000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>K500</name>
                  <description>500kbps.</description>
                  <value>0x08000000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>M1</name>
                  <description>1Mbps.</description>
                  <value>0x10000000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>M2</name>
                  <description>2Mbps.</description>
                  <value>0x20000000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>M4</name>
                  <description>4Mbps.</description>
                  <value>0x40000000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>M8</name>
                  <description>8Mbps.</description>
                  <value>0x80000000</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CONFIG</name>
          <description>Configuration register.</description>
          <addressOffset>0x554</addressOffset>
          <fields>
            <field>
              <name>ORDER</name>
              <description>Bit order.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MsbFirst</name>
                  <description>Most significant bit transmitted out first.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LsbFirst</name>
                  <description>Least significant bit transmitted out first.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CPHA</name>
              <description>Serial clock (SCK) phase.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Leading</name>
                  <description>Sample on leading edge of the clock. Shift serial data on trailing edge.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trailing</name>
                  <description>Sample on trailing edge of the clock. Shift serial data on leading edge.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CPOL</name>
              <description>Serial clock (SCK) polarity.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>Active high.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>Active low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
      </registers>
    </peripheral>

    <peripheral>
      <name>TWI0</name>
      <version>522</version>
      <description>Two-wire interface master 0.</description>
      <baseAddress>0x40003000</baseAddress>
      <groupName>TWI</groupName>
      <size>32</size>
      <access>read-write</access>
      <headerStructName>TWI</headerStructName>
      <alternatePeripheral>SPI0</alternatePeripheral>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>SPI0_TWI0</name>
        <value>3</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_STARTRX</name>
          <description>Start 2-Wire master receive sequence.</description>
          <addressOffset>0x000</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_STARTTX</name>
          <description>Start 2-Wire master transmit sequence.</description>
          <addressOffset>0x008</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_STOP</name>
          <description>Stop 2-Wire transaction.</description>
          <addressOffset>0x014</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_SUSPEND</name>
          <description>Suspend 2-Wire transaction.</description>
          <addressOffset>0x01C</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_RESUME</name>
          <description>Resume 2-Wire transaction.</description>
          <addressOffset>0x020</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <name>EVENTS_STOPPED</name>
          <description>Two-wire stopped.</description>
          <addressOffset>0x104</addressOffset>
        </register>
        <register>
          <name>EVENTS_RXDREADY</name>
          <description>Two-wire ready to deliver new RXD byte received.</description>
          <addressOffset>0x108</addressOffset>
        </register>
        <register>
          <name>EVENTS_TXDSENT</name>
          <description>Two-wire finished sending last TXD byte.</description>
          <addressOffset>0x11C</addressOffset>
        </register>
        <register>
          <name>EVENTS_ERROR</name>
          <description>Two-wire error detected.</description>
          <addressOffset>0x124</addressOffset>
        </register>
        <register>
          <name>EVENTS_BB</name>
          <description>Two-wire byte boundary.</description>
          <addressOffset>0x138</addressOffset>
        </register>
        <register>
          <name>EVENTS_SUSPENDED</name>
          <description>Two-wire suspended.</description>
          <addressOffset>0x148</addressOffset>
        </register>

        <register>
          <name>SHORTS</name>
          <description>Shortcuts for TWI.</description>
          <addressOffset>0x200</addressOffset>
          <fields>
            <field>
              <name>BB_SUSPEND</name>
              <description>Shortcut between BB event and the SUSPEND task.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BB_STOP</name>
              <description>Shortcut between BB event and the STOP task.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>STOPPED</name>
              <description>Enable interrupt on STOPPED event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXDREADY</name>
              <description>Enable interrupt on READY event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXDSENT</name>
              <description>Enable interrupt on TXDSENT event.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERROR</name>
              <description>Enable interrupt on ERROR event.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BB</name>
              <description>Enable interrupt on BB event.</description>
              <lsb>14</lsb> <msb>14</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SUSPENDED</name>
              <description>Enable interrupt on SUSPENDED event.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>STOPPED</name>
              <description>Disable interrupt on STOPPED event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXDREADY</name>
              <description>Disable interrupt on RXDREADY event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXDSENT</name>
              <description>Disable interrupt on TXDSENT event.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERROR</name>
              <description>Disable interrupt on ERROR event.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BB</name>
              <description>Disable interrupt on BB event.</description>
              <lsb>14</lsb> <msb>14</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SUSPENDED</name>
              <description>Disable interrupt on SUSPENDED event.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>ERRORSRC</name>
          <description>Two-wire error source. Write error field to 1 to clear error.</description>
          <addressOffset>0x4C4</addressOffset>
          <fields>
            <field>
              <name>OVERRUN</name>
              <description>Byte received in RXD register before read of the last received byte (data loss).</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotPresent</name>
                  <description>Error not present.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Present</name>
                  <description>Error present.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear error on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ANACK</name>
              <description>NACK received after sending the address.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotPresent</name>
                  <description>Error not present.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Present</name>
                  <description>Error present.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear error on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DNACK</name>
              <description>NACK received after sending a data byte.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotPresent</name>
                  <description>Error not present.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Present</name>
                  <description>Error present.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear error on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>ENABLE</name>
          <description>Enable two-wire master.</description>
          <addressOffset>0x500</addressOffset>
          <fields>
            <field>
              <name>ENABLE</name>
              <description>Enable or disable W2M</description>
              <lsb>0</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enabled.</description>
                  <value>0x05</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>PSELSCL</name>
          <description>Pin select for SCL.</description>
          <addressOffset>0x508</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>
        <register>
          <name>PSELSDA</name>
          <description>Pin select for SDA.</description>
          <addressOffset>0x50C</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>

        <register>
          <name>RXD</name>
          <description>RX data register.</description>
          <addressOffset>0x518</addressOffset>
          <access>read-only</access>
          <readAction>modifyExternal</readAction>
          <fields>
            <field>
              <name>RXD</name>
              <description>RX data from last transfer.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>TXD</name>
          <description>TX data register.</description>
          <addressOffset>0x51C</addressOffset>
          <fields>
            <field>
              <name>TXD</name>
              <description>TX data for next transfer.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>FREQUENCY</name>
          <description>Two-wire frequency.</description>
          <addressOffset>0x524</addressOffset>
          <resetValue>0x04000000</resetValue>
          <fields>
            <field>
              <name>FREQUENCY</name>
              <description>Two-wire master clock frequency.</description>
              <lsb>0</lsb> <msb>31</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>K100</name>
                  <description>100 kbps.</description>
                  <value>0x01980000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>K250</name>
                  <description>250 kbps.</description>
                  <value>0x04000000</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>K400</name>
                  <description>400 kbps (actual rate 410.256 kbps).</description>
                  <value>0x06680000</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>ADDRESS</name>
          <description>Address used in the two-wire transfer.</description>
          <addressOffset>0x588</addressOffset>
          <fields>
            <field>
              <name>ADDRESS</name>
              <description>Two-wire address.</description>
              <lsb>0</lsb> <msb>6</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
      </registers>
    </peripheral>

    <peripheral derivedFrom="SPI0">
      <name>SPI1</name>
      <version>522</version>
      <description>SPI master 1.</description>
      <baseAddress>0x40004000</baseAddress>
      <access>read-write</access>
      <interrupt>
        <name>SPI1_TWI1</name>
        <value>4</value>
      </interrupt>
    </peripheral>

    <peripheral derivedFrom="TWI0">
      <name>TWI1</name>
      <version>522</version>
      <description>Two-wire interface master 1.</description>
      <baseAddress>0x40004000</baseAddress>
      <access>read-write</access>
      <alternatePeripheral>SPI1</alternatePeripheral>
      <interrupt>
        <name>SPI1_TWI1</name>
        <value>4</value>
      </interrupt>
    </peripheral>
    
    <peripheral>
      <name>SPIS1</name>
      <version>522</version>
      <description>SPI slave 1.</description>
      <baseAddress>0x40004000</baseAddress>
      <groupName>SPIS</groupName>
      <size>32</size>
      <access>read-write</access>
      <alternatePeripheral>SPI1</alternatePeripheral>
      <headerStructName>SPIS</headerStructName>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>SPI1_TWI1</name>
        <value>4</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_ACQUIRE</name>
          <description>Acquire SPI semaphore.</description>
          <addressOffset>0x024</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_RELEASE</name>
          <description>Release SPI semaphore.</description>
          <addressOffset>0x028</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <name>EVENTS_END</name>
          <description>Granted transaction completed.</description>
          <addressOffset>0x104</addressOffset>
        </register>
        <register>
          <name>EVENTS_ENDRX</name>
          <description>End of RXD buffer reached</description>
          <addressOffset>0x110</addressOffset>
          <access>read-write</access>
        </register>
        <register>
          <name>EVENTS_ACQUIRED</name>
          <description>Semaphore acquired.</description>
          <addressOffset>0x128</addressOffset>
        </register>

        <register>
          <name>SHORTS</name>
          <description>Shortcuts for SPIS.</description>
          <addressOffset>0x200</addressOffset>
          <fields>
            <field>
              <name>END_ACQUIRE</name>
              <description>Shortcut between END event and the ACQUIRE task.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>END</name>
              <description>Enable interrupt on END event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENDRX</name>
              <description>enable interrupt on ENDRX event.</description>
              <lsb>4</lsb>
              <msb>4</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ACQUIRED</name>
              <description>Enable interrupt on ACQUIRED event.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>END</name>
              <description>Disable interrupt on END event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENDRX</name>
              <description>Disable interrupt on ENDRX event.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ACQUIRED</name>
              <description>Disable interrupt on ACQUIRED event.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>SEMSTAT</name>
          <description>Semaphore status.</description>
          <addressOffset>0x400</addressOffset>
          <access>read-only</access>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>SEMSTAT</name>
              <description>Semaphore status.</description>
              <lsb>0</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Free</name>
                  <description>Semaphore is free.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CPU</name>
                  <description>Semaphore is assigned to the CPU.</description>
                  <value>0x01</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SPIS</name>
                  <description>Semaphore is assigned to the SPIS.</description>
                  <value>0x02</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CPUPending</name>
                  <description>Semaphore is assigned to the SPIS, but a handover to the CPU is pending.</description>
                  <value>0x03</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>STATUS</name>
          <description>Status from last transaction.</description>
          <addressOffset>0x440</addressOffset>
          <fields>        
            <field>
              <name>OVERREAD</name>
              <description>TX buffer overread detected, and prevented.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotPresent</name>
                  <description>Error not present.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Present</name>
                  <description>Error present.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVERFLOW</name>
              <description>RX buffer overflow detected, and prevented.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotPresent</name>
                  <description>Error not present.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Present</name>
                  <description>Error present.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
               <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>ENABLE</name>
          <description>Enable SPIS.</description>
          <addressOffset>0x500</addressOffset>
          <fields>
            <field>
              <name>ENABLE</name>
              <description>Enable or disable SPIS.</description>
              <lsb>0</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled SPIS.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable SPIS.</description>
                  <value>0x02</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>PSELSCK</name>
          <description>Pin select for SCK.</description>
          <addressOffset>0x508</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>
        <register>
          <name>PSELMISO</name>
          <description>Pin select for MISO.</description>
          <addressOffset>0x50C</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>
        <register>
          <name>PSELMOSI</name>
          <description>Pin select for MOSI.</description>
          <addressOffset>0x510</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>
        <register>
          <name>PSELCSN</name>
          <description>Pin select for CSN.</description>
          <addressOffset>0x514</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>
        
        <register>
          <name>RXDPTR</name>
          <description>RX data pointer.</description>
          <addressOffset>0x534</addressOffset>
        </register>
        <register>
          <name>MAXRX</name>
          <description>Maximum number of bytes in the receive buffer.</description>
          <addressOffset>0x538</addressOffset>
          <fields>
            <field>
              <name>MAXRX</name>
              <description>Maximum number of bytes in the receive buffer.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>AMOUNTRX</name>
          <description>Number of bytes received in last granted transaction.</description>
          <addressOffset>0x53C</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>AMOUNTRX</name>
              <description>Number of bytes received in last granted transaction.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>TXDPTR</name>
          <description>TX data pointer.</description>
          <addressOffset>0x544</addressOffset>
        </register>
        <register>
          <name>MAXTX</name>
          <description>Maximum number of bytes in the transmit buffer.</description>
          <addressOffset>0x548</addressOffset>
          <fields>
            <field>
              <name>MAXTX</name>
              <description>Maximum number of bytes in the transmit buffer.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>AMOUNTTX</name>
          <description>Number of bytes transmitted in last granted transaction.</description>
          <addressOffset>0x54C</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>AMOUNTTX</name>
              <description>Number of bytes transmitted in last granted transaction.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>CONFIG</name>
          <description>Configuration register.</description>
          <addressOffset>0x554</addressOffset>
          <fields>
            <field>
              <name>ORDER</name>
              <description>Bit order.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>MsbFirst</name>
                  <description>Most significant bit transmitted out first.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LsbFirst</name>
                  <description>Least significant bit transmitted out first.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CPHA</name>
              <description>Serial clock (SCK) phase.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Leading</name>
                  <description>Sample on leading edge of the clock. Shift serial data on trailing edge.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trailing</name>
                  <description>Sample on trailing edge of the clock. Shift serial data on leading edge.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CPOL</name>
              <description>Serial clock (SCK) polarity.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>Active high.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>Active low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>DEF</name>
          <description>Default character.</description>
          <addressOffset>0x55C</addressOffset>
          <fields>
            <field>
              <name>DEF</name>
              <description>Default character.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
          </fields>
        </register>
        <register>
          <name>ORC</name>
          <description>Over-read character.</description>
          <addressOffset>0x5C0</addressOffset>
          <fields>
            <field>
              <name>ORC</name>
              <description>Over-read character.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
      </registers>
    </peripheral>

    <peripheral>
      <name>GPIOTE</name>
      <version>522</version>
      <description>GPIO tasks and events.</description>
      <baseAddress>0x40006000</baseAddress>
      <groupName>GPIOTE</groupName>
      <size>32</size>
      <access>read-write</access>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>GPIOTE</name>
        <value>6</value>
      </interrupt>

      <registers>
        <register>
          <dim>4</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>TASKS_OUT[%s]</name>
          <description>Tasks asssociated with GPIOTE channels.</description>
          <addressOffset>0x000</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <dim>4</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>EVENTS_IN[%s]</name>
          <description>Tasks asssociated with GPIOTE channels.</description>
          <addressOffset>0x100</addressOffset>
        </register>
        <register>
          <name>EVENTS_PORT</name>
          <description>Event generated from multiple pins.</description>
          <addressOffset>0x17C</addressOffset>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>IN0</name>
              <description>Enable interrupt on IN[0] event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IN1</name>
              <description>Enable interrupt on IN[1] event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IN2</name>
              <description>Enable interrupt on IN[2] event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IN3</name>
              <description>Enable interrupt on IN[3] event.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PORT</name>
              <description>Enable interrupt on PORT event.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>IN0</name>
              <description>Disable interrupt on IN[0] event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IN1</name>
              <description>Disable interrupt on IN[1] event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IN2</name>
              <description>Disable interrupt on IN[2] event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IN3</name>
              <description>Disable interrupt on IN[3] event.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PORT</name>
              <description>Disable interrupt on PORT event.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <dim>4</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>CONFIG[%s]</name>
          <description>Channel configuration registers.</description>
          <addressOffset>0x510</addressOffset>
          <fields>
            <field>
              <name>MODE</name>
              <description>Mode</description>
              <lsb>0</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>Channel configure in event mode.</description>
                  <value>0x01</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Task</name>
                  <description>Channel configure in task mode.</description>
                  <value>0x03</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PSEL</name>
              <description>Pin select.</description>
              <lsb>8</lsb> <msb>12</msb>
            </field>
            <field>
              <name>POLARITY</name>
              <description>Effects on output when in Task mode, or events on input that generates an event.</description>
              <lsb>16</lsb> <msb>17</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>None</name>
                  <description>No task or event.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LoToHi</name>
                  <description>Low to high.</description>
                  <value>0x01</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HiToLo</name>
                  <description>High to low.</description>
                  <value>0x02</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Toggle</name>
                  <description>Toggle.</description>
                  <value>0x03</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OUTINIT</name>
              <description>Initial value of the output when the GPIOTE channel is configured as a Task.</description>
              <lsb>20</lsb> <msb>20</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Initial low output when in task mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Initial high output when in task mode.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

      </registers>
    </peripheral>

    <peripheral>
      <name>ADC</name>
      <version>522</version>
      <description>Analog to digital converter.</description>
      <baseAddress>0x40007000</baseAddress>
      <groupName>ADC</groupName>
      <size>32</size>
      <access>read-write</access>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>ADC</name>
        <value>7</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_START</name>
          <description>Start an ADC conversion.</description>
          <addressOffset>0x000</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_STOP</name>
          <description>Stop ADC.</description>
          <addressOffset>0x004</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <name>EVENTS_END</name>
          <description>ADC conversion complete.</description>
          <addressOffset>0x100</addressOffset>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>END</name>
              <description>Enable interrupt on END event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>END</name>
              <description>Disable interrupt on END event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>BUSY</name>
          <description>ADC busy register.</description>
          <addressOffset>0x400</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>BUSY</name>
              <description>ADC busy register.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>No ongoing ADC conversion is taking place. ADC is ready.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>An ADC conversion is taking place. ADC is busy.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>ENABLE</name>
          <description>ADC enable.</description>
          <addressOffset>0x500</addressOffset>
          <fields>
            <field>
              <name>ENABLE</name>
              <description>ADC enable.</description>
              <lsb>0</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>ADC is disabled.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>ADC is enabled. If an analog input pin is selected as source of the conversion, the selected pin is configured as an analog input.</description>
                  <value>0x01</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>CONFIG</name>
          <description>ADC configuration register.</description>
          <addressOffset>0x504</addressOffset>
          <resetValue>0x00000018</resetValue>
          <fields>
            <field>
              <name>RES</name>
              <description>ADC resolution.</description>
              <lsb>0</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>8bit</name>
                  <description>8bit ADC resolution.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>9bit</name>
                  <description>9bit ADC resolution.</description>
                  <value>0x01</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>10bit</name>
                  <description>10bit ADC resolution.</description>
                  <value>0x02</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INPSEL</name>
              <description>ADC input selection.</description>
              <lsb>2</lsb> <msb>4</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>AnalogInputNoPrescaling</name>
                  <description>Analog input specified by PSEL with no prescaling used as input for the conversion.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogInputTwoThirdsPrescaling</name>
                  <description>Analog input specified by PSEL with 2/3 prescaling used as input for the conversion.</description>
                  <value>0x01</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogInputOneThirdPrescaling</name>
                  <description>Analog input specified by PSEL with 1/3 prescaling used as input for the conversion.</description>
                  <value>0x02</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SupplyTwoThirdsPrescaling</name>
                  <description>Supply voltage with 2/3 prescaling used as input for the conversion.</description>
                  <value>0x05</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SupplyOneThirdPrescaling</name>
                  <description>Supply voltage with 1/3 prescaling used as input for the conversion.</description>
                  <value>0x06</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>REFSEL</name>
              <description>ADC reference selection.</description>
              <lsb>5</lsb> <msb>6</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>VBG</name>
                  <description>Use internal 1.2V bandgap voltage as reference for conversion.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>External</name>
                  <description>Use external source configured by EXTREFSEL as reference for conversion.</description>
                  <value>0x01</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SupplyOneHalfPrescaling</name>
                  <description>Use supply voltage with 1/2 prescaling as reference for conversion. Only usable when supply voltage is between 1.7V and 2.6V.</description>
                  <value>0x02</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SupplyOneThirdPrescaling</name>
                  <description>Use supply voltage with 1/3 prescaling as reference for conversion. Only usable when supply voltage is between 2.5V and 3.6V.</description>
                  <value>0x03</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PSEL</name>
              <description>ADC analog pin selection.</description>
              <lsb>8</lsb> <msb>15</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Analog input pins disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogInput0</name>
                  <description>Use analog input 0 as analog input.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogInput1</name>
                  <description>Use analog input 1 as analog input.</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogInput2</name>
                  <description>Use analog input 2 as analog input.</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogInput3</name>
                  <description>Use analog input 3 as analog input.</description>
                  <value>8</value>
                </enumeratedValue><enumeratedValue>
                  <name>AnalogInput4</name>
                  <description>Use analog input 4 as analog input.</description>
                  <value>16</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogInput5</name>
                  <description>Use analog input 5 as analog input.</description>
                  <value>32</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogInput6</name>
                  <description>Use analog input 6 as analog input.</description>
                  <value>64</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogInput7</name>
                  <description>Use analog input 7 as analog input.</description>
                  <value>128</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EXTREFSEL</name>
              <description>ADC external reference pin selection.</description>
              <lsb>16</lsb> <msb>17</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>None</name>
                  <description>Analog external reference inputs disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogReference0</name>
                  <description>Use analog reference 0 as reference.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogReference1</name>
                  <description>Use analog reference 1 as reference.</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>RESULT</name>
          <description>Result of ADC conversion.</description>
          <addressOffset>0x508</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>RESULT</name>
              <description>Result of ADC conversion.</description>
              <lsb>0</lsb> <msb>9</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

      </registers>
    </peripheral>

    <peripheral>
      <name>TIMER0</name>
      <version>522</version>
      <description>Timer 0.</description>
      <baseAddress>0x40008000</baseAddress>
      <groupName>TIMER</groupName>
      <size>32</size>
      <access>read-write</access>
      <headerStructName>TIMER</headerStructName>


      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>TIMER0</name>
        <value>8</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_START</name>
          <description>Start Timer.</description>
          <addressOffset>0x000</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_STOP</name>
          <description>Stop Timer.</description>
          <addressOffset>0x004</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_COUNT</name>
          <description>Increment Timer (In counter mode).</description>
          <addressOffset>0x008</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_CLEAR</name>
          <description>Clear timer.</description>
          <addressOffset>0x00C</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_SHUTDOWN</name>
          <description>Shutdown timer.</description>
          <addressOffset>0x010</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>TASKS_CAPTURE[%s]</name>
          <description>Capture Timer value to CC[n] registers.</description>
          <addressOffset>0x040</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <dim>4</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>EVENTS_COMPARE[%s]</name>
          <description>Compare event on CC[n] match.</description>
          <addressOffset>0x140</addressOffset>
        </register>

        <register>
          <name>SHORTS</name>
          <description>Shortcuts for Timer.</description>
          <addressOffset>0x200</addressOffset>
          <fields>
            <field>
              <name>COMPARE0_CLEAR</name>
              <description>Shortcut between CC[0] event and the CLEAR task.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE1_CLEAR</name>
              <description>Shortcut between CC[1] event and the CLEAR task.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE2_CLEAR</name>
              <description>Shortcut between CC[2] event and the CLEAR task.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE3_CLEAR</name>
              <description>Shortcut between CC[3] event and the CLEAR task.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE0_STOP</name>
              <description>Shortcut between CC[0] event and the STOP task.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE1_STOP</name>
              <description>Shortcut between CC[1] event and the STOP task.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE2_STOP</name>
              <description>Shortcut between CC[2] event and the STOP task.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE3_STOP</name>
              <description>Shortcut between CC[3] event and the STOP task.</description>
              <lsb>11</lsb> <msb>11</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>COMPARE0</name>
              <description>Enable interrupt on COMPARE[0]</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE1</name>
              <description>Enable interrupt on COMPARE[1]</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE2</name>
              <description>Enable interrupt on COMPARE[2]</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE3</name>
              <description>Enable interrupt on COMPARE[3]</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>COMPARE0</name>
              <description>Disable interrupt on COMPARE[0]</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE1</name>
              <description>Disable interrupt on COMPARE[1]</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE2</name>
              <description>Disable interrupt on COMPARE[2]</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE3</name>
              <description>Disable interrupt on COMPARE[3]</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>MODE</name>
          <description>Timer Mode selection.</description>
          <addressOffset>0x504</addressOffset>
          <fields>
            <field>
              <name>MODE</name>
              <description>Select Normal or Counter mode.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Counter</name>
                  <description>Timer in Counter mode.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Timer</name>
                  <description>Timer in Normal mode.</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>BITMODE</name>
          <description>Sets timer behaviour.</description>
          <addressOffset>0x508</addressOffset>
          <fields>
            <field>
              <name>BITMODE</name>
              <description>Sets timer behaviour ro be like the implementation of a timer with width as indicated.</description>
              <lsb>0</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>16Bit</name>
                  <description>16-bit timer behaviour.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>08Bit</name>
                  <description>8-bit timer behaviour.</description>
                  <value>0x01</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>24Bit</name>
                  <description>24-bit timer behaviour.</description>
                  <value>0x02</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>32Bit</name>
                  <description>32-bit timer behaviour.</description>
                  <value>0x03</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PRESCALER</name>
          <description>4-bit prescaler to source clock frequency (max value 9). Source clock frequency is divided by 2^SCALE.</description>
          <addressOffset>0x510</addressOffset>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>PRESCALER</name>
              <description>Timer PRESCALER value. Max value is 9.</description>
              <lsb>0</lsb> <msb>3</msb>
            </field>
          </fields>
        </register>

        <register>
          <dim>4</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>CC[%s]</name>
          <description>Capture/compare registers.</description>
          <addressOffset>0x540</addressOffset>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
      </registers>
    </peripheral>

    <peripheral derivedFrom="TIMER0">
      <name>TIMER1</name>
      <version>522</version>
      <description>Timer 1.</description>
      <baseAddress>0x40009000</baseAddress>
      <access>read-write</access>
      <interrupt>
        <name>TIMER1</name>
        <value>9</value>
      </interrupt>
    </peripheral>

    <peripheral derivedFrom="TIMER0">
      <name>TIMER2</name>
      <version>522</version>
      <description>Timer 2.</description>
      <baseAddress>0x4000A000</baseAddress>
      <access>read-write</access>
      <interrupt>
        <name>TIMER2</name>
        <value>10</value>
      </interrupt>
    </peripheral>

    <peripheral>
      <name>RTC0</name>
      <version>522</version>
      <description>Real time counter 0.</description>
      <baseAddress>0x4000B000</baseAddress>
      <groupName>RTC</groupName>
      <size>32</size>
      <access>read-write</access>
      <headerStructName>RTC</headerStructName>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>RTC0</name>
        <value>11</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_START</name>
          <description>Start RTC Counter.</description>
          <addressOffset>0x000</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_STOP</name>
          <description>Stop RTC Counter.</description>
          <addressOffset>0x004</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_CLEAR</name>
          <description>Clear RTC Counter.</description>
          <addressOffset>0x008</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_TRIGOVRFLW</name>
          <description>Set COUNTER to 0xFFFFFFF0.</description>
          <addressOffset>0x00C</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <name>EVENTS_TICK</name>
          <description>Event on COUNTER increment.</description>
          <addressOffset>0x100</addressOffset>
        </register>
        <register>
          <name>EVENTS_OVRFLW</name>
          <description>Event on COUNTER overflow.</description>
          <addressOffset>0x104</addressOffset>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>EVENTS_COMPARE[%s]</name>
          <description>Compare event on CC[n] match.</description>
          <addressOffset>0x140</addressOffset>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>TICK</name>
              <description>Enable interrupt on TICK event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVRFLW</name>
              <description>Enable interrupt on OVRFLW event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE0</name>
              <description>Enable interrupt on COMPARE[0] event.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE1</name>
              <description>Enable interrupt on COMPARE[1] event.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE2</name>
              <description>Enable interrupt on COMPARE[2] event.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE3</name>
              <description>Enable interrupt on COMPARE[3] event.</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>TICK</name>
              <description>Disable interrupt on TICK event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVRFLW</name>
              <description>Disable interrupt on OVRFLW event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE0</name>
              <description>Disable interrupt on COMPARE[0] event.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE1</name>
              <description>Disable interrupt on COMPARE[1] event.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE2</name>
              <description>Disable interrupt on COMPARE[2] event.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE3</name>
              <description>Disable interrupt on COMPARE[3] event.</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>EVTEN</name>
          <description>Configures event enable routing to PPI for each RTC event.</description>
          <addressOffset>0x340</addressOffset>
          <fields>
            <field>
              <name>TICK</name>
              <description>TICK event enable.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVRFLW</name>
              <description>OVRFLW event enable.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE0</name>
              <description>COMPARE[0] event enable.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE1</name>
              <description>COMPARE[1] event enable.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE2</name>
              <description>COMPARE[2] event enable.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE3</name>
              <description>COMPARE[3] event enable.</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>EVTENSET</name>
          <description>Enable events routing to PPI. The reading of this register gives the value of EVTEN.</description>
          <addressOffset>0x344</addressOffset>
          <fields>
            <field>
              <name>TICK</name>
              <description>Enable routing to PPI of TICK event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable event on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVRFLW</name>
              <description>Enable routing to PPI of OVRFLW event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable event on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE0</name>
              <description>Enable routing to PPI of COMPARE[0] event.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable event on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE1</name>
              <description>Enable routing to PPI of COMPARE[1] event.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable event on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE2</name>
              <description>Enable routing to PPI of COMPARE[2] event.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable event on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE3</name>
              <description>Enable routing to PPI of COMPARE[3] event.</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable event on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>EVTENCLR</name>
          <description>Disable events routing to PPI. The reading of this register gives the value of EVTEN.</description>
          <addressOffset>0x348</addressOffset>
          <fields>
            <field>
              <name>TICK</name>
              <description>Disable routing to PPI of TICK event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable event on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVRFLW</name>
              <description>Disable routing to PPI of OVRFLW event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable event on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE0</name>
              <description>Disable routing to PPI of COMPARE[0] event.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable event on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE1</name>
              <description>Disable routing to PPI of COMPARE[1] event.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable event on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE2</name>
              <description>Disable routing to PPI of COMPARE[2] event.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable event on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMPARE3</name>
              <description>Disable routing to PPI of COMPARE[3] event.</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable event on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>COUNTER</name>
          <description>Current COUNTER value.</description>
          <addressOffset>0x504</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>COUNTER</name>
              <description>Counter value.</description>
              <lsb>0</lsb> <msb>23</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>PRESCALER</name>
          <description>12-bit prescaler for COUNTER frequency (32768/(PRESCALER+1)). Must be written when RTC is STOPed.</description>
          <addressOffset>0x508</addressOffset>
          <fields>
            <field>
              <name>PRESCALER</name>
              <description>RTC PRESCALER value.</description>
              <lsb>0</lsb> <msb>11</msb>
            </field>
          </fields>
        </register>

        <register>
          <dim>4</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>CC[%s]</name>
          <description>Capture/compare registers.</description>
          <addressOffset>0x540</addressOffset>
          <fields>
            <field>
              <name>COMPARE</name>
              <description>Compare value.</description>
              <lsb>0</lsb> <msb>23</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
      </registers>
    </peripheral>

    <peripheral>
      <name>TEMP</name>
      <version>522</version>
      <description>Temperature Sensor.</description>
      <groupName>TEMP</groupName>
      <baseAddress>0x4000C000</baseAddress>
      <size>32</size>
      <access>read-write</access>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>TEMP</name>
        <value>12</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_START</name>
          <description>Start temperature measurement.</description>
          <addressOffset>0x000</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_STOP</name>
          <description>Stop temperature measurement.</description>
          <addressOffset>0x004</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <name>EVENTS_DATARDY</name>
          <description>Temperature measurement complete, data ready event.</description>
          <addressOffset>0x100</addressOffset>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>DATARDY</name>
              <description>Enable interrupt on DATARDY event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>DATARDY</name>
              <description>Disable interrupt on DATARDY event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>TEMP</name>
          <description>Die temperature in degC, 2's complement format, 0.25 degC pecision.</description>
          <addressOffset>0x508</addressOffset>
          <access>read-only</access>
          <dataType>int32_t</dataType>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

      </registers>
    </peripheral>

    <peripheral>
      <name>RNG</name>
      <version>522</version>
      <description>Random Number Generator.</description>
      <baseAddress>0x4000D000</baseAddress>
      <groupName>RNG</groupName>
      <size>32</size>
      <access>read-write</access>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>RNG</name>
        <value>13</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_START</name>
          <description>Start the random number generator.</description>
          <addressOffset>0x000</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_STOP</name>
          <description>Stop the random number generator.</description>
          <addressOffset>0x004</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <name>EVENTS_VALRDY</name>
          <description>New random number generated and written to VALUE register.</description>
          <addressOffset>0x100</addressOffset>
        </register>

        <register>
          <name>SHORTS</name>
          <description>Shortcuts for the RNG.</description>
          <addressOffset>0x200</addressOffset>
          <fields>
            <field>
              <name>VALRDY_STOP</name>
              <description>Shortcut between VALRDY event and STOP task.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>VALRDY</name>
              <description>Enable interrupt on VALRDY event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>VALRDY</name>
              <description>Disable interrupt on VALRDY event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>CONFIG</name>
          <description>Configuration register.</description>
          <addressOffset>0x504</addressOffset>
          <fields>
            <field>
              <name>DERCEN</name>
              <description>Digital error correction enable.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Digital error correction disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Digital error correction enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>VALUE</name>
          <description>RNG random number.</description>
          <addressOffset>0x508</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>VALUE</name>
              <description>Generated random number.</description>
              <lsb>0</lsb> <msb>7</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
      </registers>
    </peripheral>

    <peripheral>
      <name>ECB</name>
      <version>522</version>
      <description>AES ECB Mode Encryption.</description>
      <baseAddress>0x4000E000</baseAddress>
      <groupName>ECB</groupName>
      <size>32</size>
      <access>read-write</access>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>ECB</name>
        <value>14</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_STARTECB</name>
          <description>Start ECB block encrypt. If a crypto operation is running, this will not initiate a new encryption and the ERRORECB event will be triggered.</description>
          <addressOffset>0x000</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_STOPECB</name>
          <description>Stop current ECB encryption. If a crypto operation is running, this will will trigger the ERRORECB event.</description>
          <addressOffset>0x004</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <name>EVENTS_ENDECB</name>
          <description>ECB block encrypt complete.</description>
          <addressOffset>0x100</addressOffset>
        </register>
        <register>
          <name>EVENTS_ERRORECB</name>
          <description>ECB block encrypt aborted due to a STOPECB task or due to an error.</description>
          <addressOffset>0x104</addressOffset>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>ENDECB</name>
              <description>Enable interrupt on ENDECB event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERRORECB</name>
              <description>Enable interrupt on ERRORECB event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>ENDECB</name>
              <description>Disable interrupt on ENDECB event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERRORECB</name>
              <description>Disable interrupt on ERRORECB event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>ECBDATAPTR</name>
          <description>ECB block encrypt memory pointer.</description>
          <addressOffset>0x504</addressOffset>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
      </registers>
    </peripheral>

    <peripheral>
      <name>AAR</name>
      <version>522</version>
      <description>Accelerated Address Resolver.</description>
      <baseAddress>0x4000F000</baseAddress>
      <groupName>AAR</groupName>
      <size>32</size>
      <access>read-write</access>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>CCM_AAR</name>
        <value>15</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_START</name>
          <description>Start resolving addresses based on IRKs specified in the IRK data structure.</description>
          <addressOffset>0x000</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_STOP</name>
          <description>Stop resolving addresses.</description>
          <addressOffset>0x008</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <name>EVENTS_END</name>
          <description>Address resolution procedure completed.</description>
          <addressOffset>0x100</addressOffset>
        </register>
        <register>
          <name>EVENTS_RESOLVED</name>
          <description>Address resolved.</description>
          <addressOffset>0x104</addressOffset>
        </register>
        <register>
          <name>EVENTS_NOTRESOLVED</name>
          <description>Address not resolved.</description>
          <addressOffset>0x108</addressOffset>
        </register>


        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>END</name>
              <description>Enable interrupt on END event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RESOLVED</name>
              <description>Enable interrupt on RESOLVED event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NOTRESOLVED</name>
              <description>Enable interrupt on NOTRESOLVED event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>END</name>
              <description>Disable interrupt on ENDKSGEN event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RESOLVED</name>
              <description>Disable interrupt on RESOLVED event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NOTRESOLVED</name>
              <description>Disable interrupt on NOTRESOLVED event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>STATUS</name>
          <description>Resolution status.</description>
          <addressOffset>0x400</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>STATUS</name>
              <description>The IRK used last time an address was resolved.</description>
              <lsb>0</lsb> <msb>3</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>ENABLE</name>
          <description>Enable AAR.</description>
          <addressOffset>0x500</addressOffset>
          <fields>
            <field>
              <name>ENABLE</name>
              <description>Enable AAR.</description>
              <lsb>0</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled AAR.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable AAR.</description>
                  <value>0x03</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>NIRK</name>
          <description>Number of Identity root Keys in the IRK data structure.</description>
          <addressOffset>0x504</addressOffset>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>NIRK</name>
              <description>Number of Identity root Keys in the IRK data structure.</description>
              <lsb>0</lsb> <msb>4</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>IRKPTR</name>
          <description>Pointer to the IRK data structure.</description>
          <addressOffset>0x508</addressOffset>
        </register>
        <register>
          <name>ADDRPTR</name>
          <description>Pointer to the resolvable address (6 bytes).</description>
          <addressOffset>0x510</addressOffset>
        </register>
        <register>
          <name>SCRATCHPTR</name>
          <description>Pointer to a scratch data area used for temporary storage during resolution. A minimum of 3 bytes must be reserved.</description>
          <addressOffset>0x514</addressOffset>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
      </registers>
    </peripheral>

    <peripheral>
      <name>CCM</name>
      <version>522</version>
      <description>AES CCM Mode Encryption.</description>
      <baseAddress>0x4000F000</baseAddress>
      <groupName>CCM</groupName>
      <size>32</size>
      <access>read-write</access>
      <alternatePeripheral>AAR</alternatePeripheral>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>CCM_AAR</name>
        <value>15</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_KSGEN</name>
          <description>Start generation of key-stream. This operation will stop by itself when completed.</description>
          <addressOffset>0x000</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_CRYPT</name>
          <description>Start encrypt/decrypt. This operation will stop by itself when completed.</description>
          <addressOffset>0x004</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_STOP</name>
          <description>Stop encrypt/decrypt.</description>
          <addressOffset>0x008</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <name>EVENTS_ENDKSGEN</name>
          <description>Keystream generation completed.</description>
          <addressOffset>0x100</addressOffset>
        </register>
        <register>
          <name>EVENTS_ENDCRYPT</name>
          <description>Encrypt/decrypt completed.</description>
          <addressOffset>0x104</addressOffset>
        </register>
        <register>
          <name>EVENTS_ERROR</name>
          <description>Error happened.</description>
          <addressOffset>0x108</addressOffset>
        </register>

        <register>
          <name>SHORTS</name>
          <description>Shortcuts for the CCM.</description>
          <addressOffset>0x200</addressOffset>
          <fields>
            <field>
              <name>ENDKSGEN_CRYPT</name>
              <description>Shortcut between ENDKSGEN event and CRYPT task.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>ENDKSGEN</name>
              <description>Enable interrupt on ENDKSGEN event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENDCRYPT</name>
              <description>Enable interrupt on ENDCRYPT event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERROR</name>
              <description>Enable interrupt on ERROR event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>ENDKSGEN</name>
              <description>Disable interrupt on ENDKSGEN event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENDCRYPT</name>
              <description>Disable interrupt on ENDCRYPT event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERROR</name>
              <description>Disable interrupt on ERROR event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>MICSTATUS</name>
          <description>CCM RX MIC check result.</description>
          <addressOffset>0x400</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>MICSTATUS</name>
              <description>Result of the MIC check performed during the previous CCM RX STARTCRYPT</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>CheckFailed</name>
                  <description>MIC check failed.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CheckPassed</name>
                  <description>MIC check passed.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>ENABLE</name>
          <description>CCM enable.</description>
          <addressOffset>0x500</addressOffset>
          <fields>
            <field>
              <name>ENABLE</name>
              <description>CCM enable.</description>
              <lsb>0</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CCM is disabled.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CCM is enabled.</description>
                  <value>0x02</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>MODE</name>
          <description>Operation mode.</description>
          <addressOffset>0x504</addressOffset>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>MODE</name>
              <description>CCM mode operation.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Encryption</name>
                  <description>CCM mode TX</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Decryption</name>
                  <description>CCM mode TX</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>CNFPTR</name>
          <description>Pointer to a data structure holding AES key and NONCE vector.</description>
          <addressOffset>0x508</addressOffset>
        </register>
        <register>
          <name>INPTR</name>
          <description>Pointer to the input packet.</description>
          <addressOffset>0x50C</addressOffset>
        </register>
        <register>
          <name>OUTPTR</name>
          <description>Pointer to the output packet.</description>
          <addressOffset>0x510</addressOffset>
        </register>
        <register>
          <name>SCRATCHPTR</name>
          <description>Pointer to a scratch data area used for temporary storage during resolution. A minimum of 43 bytes must be reserved.</description>
          <addressOffset>0x514</addressOffset>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
      </registers>
    </peripheral>

    <peripheral>
      <name>WDT</name>
      <version>522</version>
      <description>Watchdog Timer.</description>
      <groupName>WDT</groupName>
      <baseAddress>0x40010000</baseAddress>
      <size>32</size>
      <access>read-write</access>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>WDT</name>
        <value>16</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_START</name>
          <description>Start the watchdog.</description>
          <addressOffset>0x000</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <name>EVENTS_TIMEOUT</name>
          <description>Watchdog timeout.</description>
          <addressOffset>0x100</addressOffset>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>TIMEOUT</name>
              <description>Enable interrupt on TIMEOUT event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>TIMEOUT</name>
              <description>Disable interrupt on TIMEOUT event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>RUNSTATUS</name>
          <description>Watchdog running status.</description>
          <addressOffset>0x400</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>RUNSTATUS</name>
              <description>Watchdog running status.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NotRunning</name>
                  <description>Watchdog timer is not running.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Running</name>
                  <description>Watchdog timer is running.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>REQSTATUS</name>
          <description>Request status.</description>
          <addressOffset>0x404</addressOffset>
          <resetValue>0x00000001</resetValue>
          <access>read-only</access>
          <fields>
            <field>
              <name>RR0</name>
              <description>Request status for RR[0].</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DisabledOrRequested</name>
                  <description>RR[0] register is not enabled or has already requested reload.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EnabledAndUnrequested</name>
                  <description>RR[0] register is enabled and has not jet requested.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RR1</name>
              <description>Request status for RR[1].</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DisabledOrRequested</name>
                  <description>RR[1] register is not enabled or has already requested reload.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EnabledAndUnrequested</name>
                  <description>RR[1] register is enabled and has not jet requested.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RR2</name>
              <description>Request status for RR[2].</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DisabledOrRequested</name>
                  <description>RR[2] register is not enabled or has already requested reload.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EnabledAndUnrequested</name>
                  <description>RR[2] register is enabled and has not jet requested.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RR3</name>
              <description>Request status for RR[3].</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DisabledOrRequested</name>
                  <description>RR[3] register is not enabled or has already requested reload.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EnabledAndUnrequested</name>
                  <description>RR[3] register is enabled and has not jet requested.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RR4</name>
              <description>Request status for RR[4].</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DisabledOrRequested</name>
                  <description>RR[4] register is not enabled or has already requested reload.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EnabledAndUnrequested</name>
                  <description>RR[4] register is enabled and has not jet requested.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RR5</name>
              <description>Request status for RR[5].</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DisabledOrRequested</name>
                  <description>RR[5] register is not enabled or has already requested reload.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EnabledAndUnrequested</name>
                  <description>RR[5] register is enabled and has not jet requested.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RR6</name>
              <description>Request status for RR[6].</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DisabledOrRequested</name>
                  <description>RR[6] register is not enabled or has already requested reload.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EnabledAndUnrequested</name>
                  <description>RR[6] register is enabled and has not jet requested.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RR7</name>
              <description>Request status for RR[7].</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>DisabledOrRequested</name>
                  <description>RR[7] register is not enabled or has already requested reload.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EnabledAndUnrequested</name>
                  <description>RR[7] register is enabled and has not jet requested.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>CRV</name>
          <description>Counter reload value in number of 32kiHz clock cycles.</description>
          <addressOffset>0x504</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>

        <register>
          <name>RREN</name>
          <description>Reload request enable.</description>
          <addressOffset>0x508</addressOffset>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>RR0</name>
              <description>Enable or disable RR[0] register.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>RR[0] register is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>RR[0] register is enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RR1</name>
              <description>Enable or disable RR[1] register.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>RR[1] register is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>RR[1] register is enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RR2</name>
              <description>Enable or disable RR[2] register.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>RR[2] register is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>RR[2] register is enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RR3</name>
              <description>Enable or disable RR[3] register.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>RR[3] register is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>RR[3] register is enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RR4</name>
              <description>Enable or disable RR[4] register.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>RR[4] register is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>RR[4] register is enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RR5</name>
              <description>Enable or disable RR[5] register.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>RR[5] register is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>RR[5] register is enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RR6</name>
              <description>Enable or disable RR[6] register.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>RR[6] register is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>RR[6] register is enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RR7</name>
              <description>Enable or disable RR[7] register.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>RR[7] register is disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>RR[7] register is enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>CONFIG</name>
          <description>Configuration register.</description>
          <addressOffset>0x50C</addressOffset>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>SLEEP</name>
              <description>Configure the watchdog to pause or not while the CPU is sleeping.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Pause</name>
                  <description>Pause watchdog while the CPU is asleep.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Run</name>
                  <description>Do not pause watchdog while the CPU is asleep.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HALT</name>
              <description>Configure the watchdog to pause or not while the CPU is halted by the debugger.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Pause</name>
                  <description>Pause watchdog while the CPU is halted by the debugger.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Run</name>
                  <description>Do not pause watchdog while the CPU is halted by the debugger.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <dim>8</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>RR[%s]</name>
          <description>Reload requests registers.</description>
          <addressOffset>0x600</addressOffset>
          <access>write-only</access>
          <fields>
            <field>
              <name>RR</name>
              <description>Reload register.</description>
              <lsb>0</lsb> <msb>31</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Reload</name>
                  <description>Value to request a reload of the watchdog timer.</description>
                  <value>0x6E524635</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

      </registers>
    </peripheral>

    <peripheral derivedFrom="RTC0">
      <name>RTC1</name>
      <version>522</version>
      <description>Real time counter 1.</description>
      <baseAddress>0x40011000</baseAddress>
      <access>read-write</access>
      <interrupt>
        <name>RTC1</name>
        <value>17</value>
      </interrupt>
    </peripheral>

    <peripheral>
      <name>QDEC</name>
      <version>522</version>
      <description>Rotary decoder.</description>
      <groupName>QDEC</groupName>
      <baseAddress>0x40012000</baseAddress>
      <size>32</size>
      <access>read-write</access>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>QDEC</name>
        <value>18</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_START</name>
          <description>Start the quadrature decoder.</description>
          <addressOffset>0x000</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_STOP</name>
          <description>Stop the quadrature decoder.</description>
          <addressOffset>0x004</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_READCLRACC</name>
          <description>Transfers the content from ACC registers to ACCREAD registers, and clears the ACC registers.</description>
          <addressOffset>0x008</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <name>EVENTS_SAMPLERDY</name>
          <description>A new sample is written to the sample register.</description>
          <addressOffset>0x100</addressOffset>
        </register>
        <register>
          <name>EVENTS_REPORTRDY</name>
          <description>REPORTPER number of samples accumulated in ACC register, and ACC register different than zero.</description>
          <addressOffset>0x104</addressOffset>
        </register>
        <register>
          <name>EVENTS_ACCOF</name>
          <description>ACC or ACCDBL register overflow.</description>
          <addressOffset>0x108</addressOffset>
        </register>

        <register>
          <name>SHORTS</name>
          <description>Shortcuts for the QDEC.</description>
          <addressOffset>0x200</addressOffset>
          <fields>
            <field>
              <name>REPORTRDY_READCLRACC</name>
              <description>Shortcut between REPORTRDY event and READCLRACC task.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SAMPLERDY_STOP</name>
              <description>Shortcut between SAMPLERDY event and STOP task.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>SAMPLERDY</name>
              <description>Enable interrupt on SAMPLERDY event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>REPORTRDY</name>
              <description>Enable interrupt on REPORTRDY event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ACCOF</name>
              <description>Enable interrupt on ACCOF event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>SAMPLERDY</name>
              <description>Disable interrupt on SAMPLERDY event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>REPORTRDY</name>
              <description>Disable interrupt on REPORTRDY event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ACCOF</name>
              <description>Disable interrupt on ACCOF event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>ENABLE</name>
          <description>Enable the QDEC.</description>
          <addressOffset>0x500</addressOffset>
          <fields>
            <field>
              <name>ENABLE</name>
              <description>Enable or disable QDEC.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled QDEC.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable QDEC.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>LEDPOL</name>
          <description>LED output pin polarity.</description>
          <addressOffset>0x504</addressOffset>
          <fields>
            <field>
              <name>LEDPOL</name>
              <description>LED output pin polarity.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>LED output is active low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>LED output is active high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>SAMPLEPER</name>
          <description>Sample period.</description>
          <addressOffset>0x508</addressOffset>
          <fields>
            <field>
              <name>SAMPLEPER</name>
              <description>Sample period.</description>
              <lsb>0</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>128us</name>
                  <description>128us sample period.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>256us</name>
                  <description>256us sample period.</description>
                  <value>0x01</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>512us</name>
                  <description>512us sample period.</description>
                  <value>0x02</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>1024us</name>
                  <description>1024us sample period.</description>
                  <value>0x03</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>2048us</name>
                  <description>2048us sample period.</description>
                  <value>0x04</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>4096us</name>
                  <description>4096us sample period.</description>
                  <value>0x05</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>8192us</name>
                  <description>8192us sample period.</description>
                  <value>0x06</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>16384us</name>
                  <description>16384us sample period.</description>
                  <value>0x07</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>SAMPLE</name>
          <description>Motion sample value.</description>
          <addressOffset>0x50C</addressOffset>
          <access>read-only</access>
          <dataType>int32_t</dataType>
          <fields>
            <field>
              <name>SAMPLE</name>
              <description>Last sample taken in compliment to 2.</description>
              <lsb>0</lsb> <msb>31</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>REPORTPER</name>
          <description>Number of samples to generate an EVENT_REPORTRDY.</description>
          <addressOffset>0x510</addressOffset>
          <fields>
            <field>
              <name>REPORTPER</name>
              <description>Number of samples to generate an EVENT_REPORTRDY.</description>
              <lsb>0</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>10Smpl</name>
                  <description>10 samples per report.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>40Smpl</name>
                  <description>40 samples per report.</description>
                  <value>0x01</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>80Smpl</name>
                  <description>80 samples per report.</description>
                  <value>0x02</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>120Smpl</name>
                  <description>120 samples per report.</description>
                  <value>0x03</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>160Smpl</name>
                  <description>160 samples per report.</description>
                  <value>0x04</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>200Smpl</name>
                  <description>200 samples per report.</description>
                  <value>0x05</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>240Smpl</name>
                  <description>240 samples per report.</description>
                  <value>0x06</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>280Smpl</name>
                  <description>280 samples per report.</description>
                  <value>0x07</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>ACC</name>
          <description>Accumulated valid transitions register.</description>
          <addressOffset>0x514</addressOffset>
          <access>read-only</access>
          <dataType>int32_t</dataType>
        </register>
        
        <register>
          <name>ACCREAD</name>
          <description>Snapshot of ACC register. Value generated by the TASKS_READCLEACC task.</description>
          <addressOffset>0x518</addressOffset>
          <access>read-only</access>
          <dataType>int32_t</dataType>
        </register>

        <register>
          <name>PSELLED</name>
          <description>Pin select for LED output.</description>
          <addressOffset>0x51C</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>
        <register>
          <name>PSELA</name>
          <description>Pin select for phase A input.</description>
          <addressOffset>0x520</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>
        <register>
          <name>PSELB</name>
          <description>Pin select for phase B input.</description>
          <addressOffset>0x524</addressOffset>
          <resetValue>0xFFFFFFFF</resetValue>
        </register>

        <register>
          <name>DBFEN</name>
          <description>Enable debouncer input filters.</description>
          <addressOffset>0x528</addressOffset>
          <fields>
            <field>
              <name>DBFEN</name>
              <description>Enable debounce input filters.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Debounce input filters disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Debounce input filters enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>LEDPRE</name>
          <description>Time LED is switched ON before the sample.</description>
          <addressOffset>0x540</addressOffset>
          <resetValue>0x00000010</resetValue>
          <fields>
            <field>
              <name>LEDPRE</name>
              <description>Period in us the LED in switched on prior to sampling.</description>
              <lsb>0</lsb> <msb>8</msb>
            </field>
          </fields>
        </register>

        <register>
          <name>ACCDBL</name>
          <description>Accumulated double (error) transitions register.</description>
          <addressOffset>0x544</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>ACCDBL</name>
              <description>Accumulated double (error) transitions.</description>
              <lsb>0</lsb> <msb>3</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>ACCDBLREAD</name>
          <description>Snapshot of ACCDBL register. Value generated by the TASKS_READCLEACC task.</description>
          <addressOffset>0x548</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>ACCDBLREAD</name>
              <description>Snapshot of accumulated double (error) transitions.</description>
              <lsb>0</lsb> <msb>3</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

      </registers>
    </peripheral>

    <peripheral>
      <name>LPCOMP</name>
      <version>522</version>
      <description>Low power comparator.</description>
      <groupName>LPCOMP</groupName>
      <baseAddress>0x40013000</baseAddress>
      <size>32</size>
      <access>read-write</access>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>LPCOMP</name>
        <value>19</value>
      </interrupt>

      <registers>
        <register>
          <name>TASKS_START</name>
          <description>Start the comparator.</description>
          <addressOffset>0x000</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_STOP</name>
          <description>Stop the comparator.</description>
          <addressOffset>0x004</addressOffset>
          <access>write-only</access>
        </register>
        <register>
          <name>TASKS_SAMPLE</name>
          <description>Sample comparator value.</description>
          <addressOffset>0x008</addressOffset>
          <access>write-only</access>
        </register>

        <register>
          <name>EVENTS_READY</name>
          <description>LPCOMP is ready and output is valid.</description>
          <addressOffset>0x100</addressOffset>
        </register>
        <register>
          <name>EVENTS_DOWN</name>
          <description>Input voltage crossed the threshold going down.</description>
          <addressOffset>0x104</addressOffset>
        </register>
        <register>
          <name>EVENTS_UP</name>
          <description>Input voltage crossed the threshold going up.</description>
          <addressOffset>0x108</addressOffset>
        </register>
        <register>
          <name>EVENTS_CROSS</name>
          <description>Input voltage crossed the threshold in any direction.</description>
          <addressOffset>0x10C</addressOffset>
        </register>

        <register>
          <name>SHORTS</name>
          <description>Shortcuts for the LPCOMP.</description>
          <addressOffset>0x200</addressOffset>
          <fields>
            <field>
              <name>READY_SAMPLE</name>
              <description>Shortcut between READY event and SAMPLE task.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>READY_STOP</name>
              <description>Shortcut between RADY event and STOP task.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DOWN_STOP</name>
              <description>Shortcut between DOWN event and STOP task.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UP_STOP</name>
              <description>Shortcut between UP event and STOP task.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CROSS_STOP</name>
              <description>Shortcut between CROSS event and STOP task.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Shortcut disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Shortcut enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>INTENSET</name>
          <description>Interrupt enable set register.</description>
          <addressOffset>0x304</addressOffset>
          <fields>
            <field>
              <name>READY</name>
              <description>Enable interrupt on READY event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DOWN</name>
              <description>Enable interrupt on DOWN event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UP</name>
              <description>Enable interrupt on UP event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CROSS</name>
              <description>Enable interrupt on CROSS event.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INTENCLR</name>
          <description>Interrupt enable clear register.</description>
          <addressOffset>0x308</addressOffset>
          <fields>
            <field>
              <name>READY</name>
              <description>Disable interrupt on READY event.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DOWN</name>
              <description>Disable interrupt on DOWN event.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UP</name>
              <description>Disable interrupt on UP event.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CROSS</name>
              <description>Disable interrupt on CROSS event.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable interrupt on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>RESULT</name>
          <description>Result of last compare.</description>
          <addressOffset>0x400</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>RESULT</name>
              <description>Result of last compare. Decision point SAMPLE task.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Below</name>
                  <description>Input voltage is bellow the reference threshold.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Above</name>
                  <description>Input voltage is above the reference threshold.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>ENABLE</name>
          <description>Enable the LPCOMP.</description>
          <addressOffset>0x500</addressOffset>
          <fields>
            <field>
              <name>ENABLE</name>
              <description>Enable or disable LPCOMP.</description>
              <lsb>0</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled LPCOMP.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable LPCOMP.</description>
                  <value>0x01</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>PSEL</name>
          <description>Input pin select.</description>
          <addressOffset>0x504</addressOffset>
          <fields>
            <field>
              <name>PSEL</name>
              <description>Analog input pin select.</description>
              <lsb>0</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>AnalogInput0</name>
                  <description>Use analog input 0 as analog input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogInput1</name>
                  <description>Use analog input 1 as analog input.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogInput2</name>
                  <description>Use analog input 2 as analog input.</description>
                  <value>2</value>
                </enumeratedValue><enumeratedValue>
                  <name>AnalogInput3</name>
                  <description>Use analog input 3 as analog input.</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogInput4</name>
                  <description>Use analog input 4 as analog input.</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogInput5</name>
                  <description>Use analog input 5 as analog input.</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogInput6</name>
                  <description>Use analog input 6 as analog input.</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogInput7</name>
                  <description>Use analog input 7 as analog input.</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>REFSEL</name>
          <description>Reference select.</description>
          <addressOffset>0x508</addressOffset>
          <fields>
            <field>
              <name>REFSEL</name>
              <description>Reference select.</description>
              <lsb>0</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>SupplyOneEighthPrescaling</name>
                  <description>Use supply with a 1/8 prescaler as reference.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SupplyTwoEighthsPrescaling</name>
                  <description>Use supply with a 2/8 prescaler as reference.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SupplyThreeEighthsPrescaling</name>
                  <description>Use supply with a 3/8 prescaler as reference.</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SupplyFourEighthsPrescaling</name>
                  <description>Use supply with a 4/8 prescaler as reference.</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SupplyFiveEighthsPrescaling</name>
                  <description>Use supply with a 5/8 prescaler as reference.</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SupplySixEighthsPrescaling</name>
                  <description>Use supply with a 6/8 prescaler as reference.</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SupplySevenEighthsPrescaling</name>
                  <description>Use supply with a 7/8 prescaler as reference.</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ARef</name>
                  <description>Use external analog reference as reference.</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>EXTREFSEL</name>
          <description>External reference select.</description>
          <addressOffset>0x50C</addressOffset>
          <fields>
            <field>
              <name>EXTREFSEL</name>
              <description>External analog reference pin selection.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>AnalogReference0</name>
                  <description>Use analog reference 0 as reference.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AnalogReference1</name>
                  <description>Use analog reference 1 as reference.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>          
          </fields>
        </register>
        
        <register>
          <name>ANADETECT</name>
          <description>Analog detect configuration.</description>
          <addressOffset>0x520</addressOffset>
          <fields>
            <field>
              <name>ANADETECT</name>
              <description>Analog detect configuration.</description>
              <lsb>0</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Cross</name>
                  <description>Generate ANADETEC on crossing, both upwards and downwards crossing.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Up</name>
                  <description>Generate ANADETEC on upwards crossing only.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Down</name>
                  <description>Generate ANADETEC on downwards crossing only.</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>POWER</name>
          <description>Peripheral power control.</description>
          <addressOffset>0xFFC</addressOffset>
          <fields>
            <field>
              <name>POWER</name>
              <description>Peripheral power control.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Module power disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Module power enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
      </registers>
    </peripheral>
      
    <peripheral>
      <name>SWI</name>
      <version>522</version>
      <description>SW Interrupts.</description>
      <groupName>SWI</groupName>
      <baseAddress>0x40014000</baseAddress>
      <size>32</size>

      <addressBlock>
        <offset>0</offset>
        <size>0x6000</size>
        <usage>registers</usage>
      </addressBlock>

      <interrupt>
        <name>SWI0</name>
        <value>20</value>
      </interrupt>
      <interrupt>
        <name>SWI1</name>
        <value>21</value>
      </interrupt>
      <interrupt>
        <name>SWI2</name>
        <value>22</value>
      </interrupt>
      <interrupt>
        <name>SWI3</name>
        <value>23</value>
      </interrupt>
      <interrupt>
        <name>SWI4</name>
        <value>24</value>
      </interrupt>
      <interrupt>
        <name>SWI5</name>
        <value>25</value>
      </interrupt>

      <registers>
        <register>
          <name>UNUSED</name>
          <description>Unused.</description>
          <addressOffset>0x000</addressOffset>
          <resetValue>0x00000000</resetValue>
          <access>read-only</access>
        </register>
      </registers>
    </peripheral>

    <peripheral>
      <name>NVMC</name>
      <version>522</version>
      <description>Non Volatile Memory Controller.</description>
      <groupName>NVMC</groupName>
      <baseAddress>0x4001E000</baseAddress>
      <size>32</size>
      <access>read-write</access>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <registers>
        <register>
          <name>READY</name>
          <description>Ready flag.</description>
          <addressOffset>0x400</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>READY</name>
              <description>NVMC ready.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>NVMC is busy (on-going write or erase operation).</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>NVMC is ready.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>CONFIG</name>
          <description>Configuration register.</description>
          <addressOffset>0x504</addressOffset>
          <fields>
            <field>
              <name>WEN</name>
              <description>Program write enable.</description>
              <lsb>0</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Ren</name>
                  <description>Read only access.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Wen</name>
                  <description>Write enabled.</description>
                  <value>0x01</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Een</name>
                  <description>Erase enabled.</description>
                  <value>0x02</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>ERASEPAGE</name>
          <description>Register for erasing a non-protected non-volatile memory page.</description>
          <addressOffset>0x508</addressOffset>
        </register>
        <register>
          <name>ERASEPCR1</name>
          <description>Register for erasing a non-protected non-volatile memory page.</description>
          <addressOffset>0x508</addressOffset>
          <alternateRegister>ERASEPAGE</alternateRegister>
        </register>
        
        <register>
          <name>ERASEALL</name>
          <description>Register for erasing all non-volatile user memory.</description>
          <addressOffset>0x50C</addressOffset>
          <fields>
            <field>
              <name>ERASEALL</name>
              <description>Starts the erasing of all user NVM (code region 0/1 and UICR registers).</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NoOperation</name>
                  <description>No operation.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Erase</name>
                  <description>Start chip erase.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>ERASEPCR0</name>
          <description>Register for erasing a protected non-volatile memory page.</description>
          <addressOffset>0x510</addressOffset>
        </register>
        
        <register>
          <name>ERASEUICR</name>
          <description>Register for start erasing User Information Congfiguration Registers.</description>
          <addressOffset>0x514</addressOffset>
          <fields>
            <field>
              <name>ERASEUICR</name>
              <description>It can only be used when all contents of code region 1 are erased.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NoOperation</name>
                  <description>No operation.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Erase</name>
                  <description>Start UICR erase.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
   
    <peripheral>
      <name>PPI</name>
      <version>522</version>
      <description>PPI controller.</description>
      <baseAddress>0x4001F000</baseAddress>
      <groupName>PPI</groupName>
      <size>32</size>
      <access>read-write</access>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <registers>
        <cluster>
          <dim>4</dim>
          <dimIncrement>0x08</dimIncrement>
          <name>TASKS_CHG[%s]</name>
          <description>Channel group tasks.</description>
          <addressOffset>0x000</addressOffset>
          <register>
            <name>EN</name>
            <description>Enable channel group.</description>
            <addressOffset>0x000</addressOffset>
            <access>write-only</access>
          </register>
          <register>
            <name>DIS</name>
            <description>Disable channel group.</description>
            <addressOffset>0x004</addressOffset>
            <access>write-only</access>
          </register>
        </cluster>
        
        <register>
          <name>CHEN</name>
          <description>Channel enable.</description>
          <addressOffset>0x500</addressOffset>
          <fields>
            <field>
              <name>CH0</name>
              <description>Enable PPI channel 0.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH1</name>
              <description>Enable PPI channel 1.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH2</name>
              <description>Enable PPI channel 2.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH3</name>
              <description>Enable PPI channel 3.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH4</name>
              <description>Enable PPI channel 4.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH5</name>
              <description>Enable PPI channel 5.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH6</name>
              <description>Enable PPI channel 6.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH7</name>
              <description>Enable PPI channel 7.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH8</name>
              <description>Enable PPI channel 8.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH9</name>
              <description>Enable PPI channel 9.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH10</name>
              <description>Enable PPI channel 10.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH11</name>
              <description>Enable PPI channel 11.</description>
              <lsb>11</lsb> <msb>11</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH12</name>
              <description>Enable PPI channel 12.</description>
              <lsb>12</lsb> <msb>12</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH13</name>
              <description>Enable PPI channel 13.</description>
              <lsb>13</lsb> <msb>13</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH14</name>
              <description>Enable PPI channel 14.</description>
              <lsb>14</lsb> <msb>14</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH15</name>
              <description>Enable PPI channel 15.</description>
              <lsb>15</lsb> <msb>15</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH20</name>
              <description>Enable PPI channel 20.</description>
              <lsb>20</lsb> <msb>20</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH21</name>
              <description>Enable PPI channel 21.</description>
              <lsb>21</lsb> <msb>21</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH22</name>
              <description>Enable PPI channel 22.</description>
              <lsb>22</lsb> <msb>22</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH23</name>
              <description>Enable PPI channel 23.</description>
              <lsb>23</lsb> <msb>23</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH24</name>
              <description>Enable PPI channel 24.</description>
              <lsb>24</lsb> <msb>24</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH25</name>
              <description>Enable PPI channel 25.</description>
              <lsb>25</lsb> <msb>25</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH26</name>
              <description>Enable PPI channel 26.</description>
              <lsb>26</lsb> <msb>26</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH27</name>
              <description>Enable PPI channel 27.</description>
              <lsb>27</lsb> <msb>27</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH28</name>
              <description>Enable PPI channel 28.</description>
              <lsb>28</lsb> <msb>28</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH29</name>
              <description>Enable PPI channel 29.</description>
              <lsb>29</lsb> <msb>29</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH30</name>
              <description>Enable PPI channel 30.</description>
              <lsb>30</lsb> <msb>30</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH31</name>
              <description>Enable PPI channel 31.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>            
          </fields>
        </register>
        <register>
          <name>CHENSET</name>
          <description>Channel enable set.</description>
          <addressOffset>0x504</addressOffset>
          <fields>
            <field>
              <name>CH0</name>
              <description>Enable PPI channel 0.</description>
              <lsb>0</lsb> <msb>0</msb>
			        <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH1</name>
              <description>Enable PPI channel 1.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH2</name>
              <description>Enable PPI channel 2.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH3</name>
              <description>Enable PPI channel 3.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH4</name>
              <description>Enable PPI channel 4.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH5</name>
              <description>Enable PPI channel 5.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH6</name>
              <description>Enable PPI channel 6.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH7</name>
              <description>Enable PPI channel 7.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH8</name>
              <description>Enable PPI channel 8.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH9</name>
              <description>Enable PPI channel 9.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH10</name>
              <description>Enable PPI channel 10.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH11</name>
              <description>Enable PPI channel 11.</description>
              <lsb>11</lsb> <msb>11</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH12</name>
              <description>Enable PPI channel 12.</description>
              <lsb>12</lsb> <msb>12</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH13</name>
              <description>Enable PPI channel 13.</description>
              <lsb>13</lsb> <msb>13</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH14</name>
              <description>Enable PPI channel 14.</description>
              <lsb>14</lsb> <msb>14</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH15</name>
              <description>Enable PPI channel 15.</description>
              <lsb>15</lsb> <msb>15</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH20</name>
              <description>Enable PPI channel 20.</description>
              <lsb>20</lsb> <msb>20</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH21</name>
              <description>Enable PPI channel 21.</description>
              <lsb>21</lsb> <msb>21</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH22</name>
              <description>Enable PPI channel 22.</description>
              <lsb>22</lsb> <msb>22</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH23</name>
              <description>Enable PPI channel 23.</description>
              <lsb>23</lsb> <msb>23</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH24</name>
              <description>Enable PPI channel 24.</description>
              <lsb>24</lsb> <msb>24</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH25</name>
              <description>Enable PPI channel 25.</description>
              <lsb>25</lsb> <msb>25</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH26</name>
              <description>Enable PPI channel 26.</description>
              <lsb>26</lsb> <msb>26</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH27</name>
              <description>Enable PPI channel 27.</description>
              <lsb>27</lsb> <msb>27</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH28</name>
              <description>Enable PPI channel 28.</description>
              <lsb>28</lsb> <msb>28</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH29</name>
              <description>Enable PPI channel 29.</description>
              <lsb>29</lsb> <msb>29</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH30</name>
              <description>Enable PPI channel 30.</description>
              <lsb>30</lsb> <msb>30</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH31</name>
              <description>Enable PPI channel 31.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Enable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CHENCLR</name>
          <description>Channel enable clear.</description>
          <addressOffset>0x508</addressOffset>
          <fields>
            <field>
              <name>CH0</name>
              <description>Disable PPI channel 0.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH1</name>
              <description>Disable PPI channel 1.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH2</name>
              <description>Disable PPI channel 2.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH3</name>
              <description>Disable PPI channel 3.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH4</name>
              <description>Disable PPI channel 4.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH5</name>
              <description>Disable PPI channel 5.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH6</name>
              <description>Disable PPI channel 6.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH7</name>
              <description>Disable PPI channel 7.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH8</name>
              <description>Disable PPI channel 8.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH9</name>
              <description>Disable PPI channel 9.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH10</name>
              <description>Disable PPI channel 10.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH11</name>
              <description>Disable PPI channel 11.</description>
              <lsb>11</lsb> <msb>11</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH12</name>
              <description>Disable PPI channel 12.</description>
              <lsb>12</lsb> <msb>12</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH13</name>
              <description>Disable PPI channel 13.</description>
              <lsb>13</lsb> <msb>13</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH14</name>
              <description>Disable PPI channel 14.</description>
              <lsb>14</lsb> <msb>14</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH15</name>
              <description>Disable PPI channel 15.</description>
              <lsb>15</lsb> <msb>15</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH20</name>
              <description>Disable PPI channel 20.</description>
              <lsb>20</lsb> <msb>20</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH21</name>
              <description>Disable PPI channel 21.</description>
              <lsb>21</lsb> <msb>21</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH22</name>
              <description>Disable PPI channel 22.</description>
              <lsb>22</lsb> <msb>22</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH23</name>
              <description>Disable PPI channel 23.</description>
              <lsb>23</lsb> <msb>23</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH24</name>
              <description>Disable PPI channel 24.</description>
              <lsb>24</lsb> <msb>24</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH25</name>
              <description>Disable PPI channel 25.</description>
              <lsb>25</lsb> <msb>25</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH26</name>
              <description>Disable PPI channel 26.</description>
              <lsb>26</lsb> <msb>26</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH27</name>
              <description>Disable PPI channel 27.</description>
              <lsb>27</lsb> <msb>27</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH28</name>
              <description>Disable PPI channel 28.</description>
              <lsb>28</lsb> <msb>28</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH29</name>
              <description>Disable PPI channel 29.</description>
              <lsb>29</lsb> <msb>29</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH30</name>
              <description>Disable PPI channel 30.</description>
              <lsb>30</lsb> <msb>30</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH31</name>
              <description>Disable PPI channel 31.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Disable channel on write.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <cluster>
          <dim>16</dim>
          <dimIncrement>0x08</dimIncrement>
          <name>CH[%s]</name>
          <description>PPI Channel.</description>
          <addressOffset>0x510</addressOffset>
          <register>
            <name>EEP</name>
            <description>Channel event end-point.</description>
            <addressOffset>0x000</addressOffset>
          </register>
          <register>
            <name>TEP</name>
            <description>Channel task end-point.</description>
            <addressOffset>0x004</addressOffset>
          </register>
        </cluster>

        <register>
          <dim>4</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>CHG[%s]</name>
          <description>Channel group configuration.</description>
          <addressOffset>0x800</addressOffset>
          <fields>
            <field>
              <name>CH0</name>
              <description>Include CH0 in channel group.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH1</name>
              <description>Include CH1 in channel group.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH2</name>
              <description>Include CH2 in channel group.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH3</name>
              <description>Include CH3 in channel group.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH4</name>
              <description>Include CH4 in channel group.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH5</name>
              <description>Include CH5 in channel group.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH6</name>
              <description>Include CH6 in channel group.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH7</name>
              <description>Include CH7 in channel group.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH8</name>
              <description>Include CH8 in channel group.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH9</name>
              <description>Include CH9 in channel group.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH10</name>
              <description>Include CH10 in channel group.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH11</name>
              <description>Include CH11 in channel group.</description>
              <lsb>11</lsb> <msb>11</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH12</name>
              <description>Include CH12 in channel group.</description>
              <lsb>12</lsb> <msb>12</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH13</name>
              <description>Include CH13 in channel group.</description>
              <lsb>13</lsb> <msb>13</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH14</name>
              <description>Include CH14 in channel group.</description>
              <lsb>14</lsb> <msb>14</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH15</name>
              <description>Include CH15 in channel group.</description>
              <lsb>15</lsb> <msb>15</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH20</name>
              <description>Include CH20 in channel group.</description>
              <lsb>20</lsb> <msb>20</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH21</name>
              <description>Include CH21 in channel group.</description>
              <lsb>21</lsb> <msb>21</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH22</name>
              <description>Include CH22 in channel group.</description>
              <lsb>22</lsb> <msb>22</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH23</name>
              <description>Include CH23 in channel group.</description>
              <lsb>23</lsb> <msb>23</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH24</name>
              <description>Include CH24 in channel group.</description>
              <lsb>24</lsb> <msb>24</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH25</name>
              <description>Include CH25 in channel group.</description>
              <lsb>25</lsb> <msb>25</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH26</name>
              <description>Include CH26 in channel group.</description>
              <lsb>26</lsb> <msb>26</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH27</name>
              <description>Include CH27 in channel group.</description>
              <lsb>27</lsb> <msb>27</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH28</name>
              <description>Include CH28 in channel group.</description>
              <lsb>28</lsb> <msb>28</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH29</name>
              <description>Include CH29 in channel group.</description>
              <lsb>29</lsb> <msb>29</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH30</name>
              <description>Include CH30 in channel group.</description>
              <lsb>30</lsb> <msb>30</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH31</name>
              <description>Include CH31 in channel group.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Excluded</name>
                  <description>Channel excluded.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Included</name>
                  <description>Channel included.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
          
      </registers>
    </peripheral>

    <peripheral>
      <name>FICR</name>
      <version>522</version>
      <description>Factory Information Configuration.</description>
      <groupName>FICR</groupName>
      <baseAddress>0x10000000</baseAddress>
      <size>32</size>
      <access>read-only</access>
      <resetValue>0xFFFFFFFF</resetValue>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <registers>
        <register>
          <name>CODEPAGESIZE</name>
          <description>Code memory page size in bytes.</description>
          <addressOffset>0x010</addressOffset>
        </register>
        <register>
          <name>CODESIZE</name>
          <description>Code memory size in pages.</description>
          <addressOffset>0x014</addressOffset>
        </register>
      
        <register>
          <name>CLENR0</name>
          <description>Length of code region 0 in bytes.</description>
          <addressOffset>0x028</addressOffset>
        </register>
        <register>
          <name>PPFC</name>
          <description>Pre-programmed factory code present.</description>
          <addressOffset>0x02C</addressOffset>
          <fields>
            <field>
              <name>PPFC</name>
              <description>Pre-programmed factory code present.</description>
              <lsb>0</lsb> <msb>7</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>NotPresent</name>
                  <description>Not present.</description>
                  <value>0xFF</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Present</name>
                  <description>Present.</description>
                  <value>0x00</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>NUMRAMBLOCK</name>
          <description>Number of individualy controllable RAM blocks.</description>
          <addressOffset>0x034</addressOffset>
        </register>
        <register>
          <name>SIZERAMBLOCKS</name>
          <description>Size of RAM blocks in bytes.</description>
          <addressOffset>0x038</addressOffset>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>SIZERAMBLOCK[%s]</name>
          <description>Deprecated array of size of RAM block in bytes. This name is kept for backward compatinility purposes. Use SIZERAMBLOCKS instead.</description>
          <addressOffset>0x038</addressOffset>
          <alternateRegister>SIZERAMBLOCKS</alternateRegister>
        </register>
        
        <register>
          <name>CONFIGID</name>
          <description>Configuration identifier.</description>
          <addressOffset>0x05C</addressOffset>
          <fields>
            <field>
              <name>HWID</name>
              <description>Hardware Identification Number.</description>
              <lsb>0</lsb> <msb>15</msb>
            </field>
            <field>
              <name>FWID</name>
              <description>Firmware Identification Number pre-loaded into the flash.</description>
              <lsb>16</lsb> <msb>31</msb>
            </field>
          </fields>
        </register>

        <register>
          <dim>2</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>DEVICEID[%s]</name>
          <description>Device identifier.</description>
          <addressOffset>0x060</addressOffset>
        </register>
        
        <register>
          <dim>4</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>ER[%s]</name>
          <description>Encryption root.</description>
          <addressOffset>0x080</addressOffset>
        </register>
        
        <register>
          <dim>4</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>IR[%s]</name>
          <description>Identity root.</description>
          <addressOffset>0x090</addressOffset>
        </register>
        
        <register>
          <name>DEVICEADDRTYPE</name>
          <description>Device address type.</description>
          <addressOffset>0x0A0</addressOffset>
           <fields>
            <field>
              <name>DEVICEADDRTYPE</name>
              <description>Device address type.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Public</name>
                  <description>Public address.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Random</name>
                  <description>Random address.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <dim>2</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>DEVICEADDR[%s]</name>
          <description>Device address.</description>
          <addressOffset>0x0A4</addressOffset>
        </register>
        
        <register>
          <name>OVERRIDEEN</name>
          <description>Radio calibration override enable.</description>
          <addressOffset>0x0AC</addressOffset>
          <fields>
          <field>
              <name>NRF_1MBIT</name>
              <description>Override default values for NRF_1Mbit mode.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Override</name>
                  <description>Override the default values for NRF_1Mbit mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotOverride</name>
                  <description>Do not override the default values for NRF_1Mbit mode.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BLE_1MBIT</name>
              <description>Override default values for BLE_1Mbit mode.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Override</name>
                  <description>Override the default values for BLE_1Mbit mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotOverride</name>
                  <description>Do not override the default values for BLE_1Mbit mode.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <dim>5</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>NRF_1MBIT[%s]</name>
          <description>Override values for the OVERRIDEn registers in RADIO for NRF_1Mbit mode.</description>
          <addressOffset>0x0B0</addressOffset>
        </register>
        <register>
          <dim>5</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>BLE_1MBIT[%s]</name>
          <description>Override values for the OVERRIDEn registers in RADIO for BLE_1Mbit mode.</description>
          <addressOffset>0x0EC</addressOffset>
        </register>
        
      </registers>
    </peripheral>

    <peripheral>
      <name>UICR</name>
      <version>522</version>
      <description>User Information Configuration.</description>
      <groupName>UICR</groupName>
      <baseAddress>0x10001000</baseAddress>
      <size>32</size>
      <access>read-write</access>
      <resetValue>0xFFFFFFFF</resetValue>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <registers>
        <register>
          <name>CLENR0</name>
          <description>Length of code region 0.</description>
          <addressOffset>0x000</addressOffset>
        </register>
        
        <register>
          <name>RBPCONF</name>
          <description>Readback protection configuration.</description>
          <addressOffset>0x004</addressOffset>
          <fields>
            <field>
              <name>PR0</name>
              <description>Readback protect region 0. Will be ignored if pre-programmed factory code is present on the chip.</description>
              <lsb>0</lsb> <msb>7</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled.</description>
                  <value>0xFF</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enabled.</description>
                  <value>0x00</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PALL</name>
              <description>Readback protect all code in the device.</description>
              <lsb>8</lsb> <msb>15</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled.</description>
                  <value>0xFF</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enabled.</description>
                  <value>0x00</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>XTALFREQ</name>
          <description>Reset value for CLOCK XTALFREQ register.</description>
          <addressOffset>0x008</addressOffset>
          <fields>
            <field>
              <name>XTALFREQ</name>
              <description>Reset value for CLOCK XTALFREQ register.</description>
              <lsb>0</lsb> <msb>7</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>16MHz</name>
                  <description>16MHz Xtal is used.</description>
                  <value>0xFF</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>32MHz</name>
                  <description>32MHz Xtal is used.</description>
                  <value>0x00</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        
        <register>
          <name>FWID</name>
          <description>Firmware ID.</description>
          <addressOffset>0x010</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>FWID</name>
              <description>Identification number for the firmware loaded into the chip.</description>
              <lsb>0</lsb> <msb>15</msb>
            </field>
          </fields>
        </register>
        
        <register>
          <name>BOOTLOADERADDR</name>
          <description>Bootloader start address.</description>
          <addressOffset>0x014</addressOffset>
        </register>
        
        <register>
          <dim>15</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>NRFFW[%s]</name>
          <description>Reserved for Nordic firmware design.</description>
          <addressOffset>0x014</addressOffset>
          <alternateRegister>BOOTLOADERADDR</alternateRegister>
        </register>
        <register>
          <dim>12</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>NRFHW[%s]</name>
          <description>Reserved for Nordic hardware design.</description>
          <addressOffset>0x050</addressOffset>
        </register>
        <register>
          <dim>32</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>CUSTOMER[%s]</name>
          <description>Reserved for customer.</description>
          <addressOffset>0x080</addressOffset>
        </register>
        
      </registers>
    </peripheral>

    <peripheral>
      <name>GPIO</name>
      <version>522</version>
      <description>General purpose input and output.</description>
      <baseAddress>0x50000000</baseAddress>
      <groupName>GPIO</groupName>
      <size>32</size>
      <access>read-write</access>

      <addressBlock>
        <offset>0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>

      <registers>
        <register>
          <name>OUT</name>
          <description>Write GPIO port.</description>
          <addressOffset>0x504</addressOffset>
          <fields>
            <field>
              <name>PIN0</name>
              <description>Pin 0.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN1</name>
              <description>Pin 1.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN2</name>
              <description>Pin 2.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN3</name>
              <description>Pin 3.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN4</name>
              <description>Pin 4.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN5</name>
              <description>Pin 5.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN6</name>
              <description>Pin 6.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN7</name>
              <description>Pin 7.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN8</name>
              <description>Pin 8.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN9</name>
              <description>Pin 9.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN10</name>
              <description>Pin 10.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN11</name>
              <description>Pin 11.</description>
              <lsb>11</lsb> <msb>11</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN12</name>
              <description>Pin 12.</description>
              <lsb>12</lsb> <msb>12</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN13</name>
              <description>Pin 13.</description>
              <lsb>13</lsb> <msb>13</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN14</name>
              <description>Pin 14.</description>
              <lsb>14</lsb> <msb>14</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN15</name>
              <description>Pin 15.</description>
              <lsb>15</lsb> <msb>15</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN16</name>
              <description>Pin 16.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN17</name>
              <description>Pin 17.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN18</name>
              <description>Pin 18.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN19</name>
              <description>Pin 19.</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN20</name>
              <description>Pin 20.</description>
              <lsb>20</lsb> <msb>20</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN21</name>
              <description>Pin 21.</description>
              <lsb>21</lsb> <msb>21</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN22</name>
              <description>Pin 22.</description>
              <lsb>22</lsb> <msb>22</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN23</name>
              <description>Pin 23.</description>
              <lsb>23</lsb> <msb>23</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN24</name>
              <description>Pin 24.</description>
              <lsb>24</lsb> <msb>24</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN25</name>
              <description>Pin 25.</description>
              <lsb>25</lsb> <msb>25</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN26</name>
              <description>Pin 26.</description>
              <lsb>26</lsb> <msb>26</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN27</name>
              <description>Pin 27.</description>
              <lsb>27</lsb> <msb>27</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN28</name>
              <description>Pin 28.</description>
              <lsb>28</lsb> <msb>28</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN29</name>
              <description>Pin 29.</description>
              <lsb>29</lsb> <msb>29</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN30</name>
              <description>Pin 30.</description>
              <lsb>30</lsb> <msb>30</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN31</name>
              <description>Pin 31.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>OUTSET</name>
          <description>Set individual bits in GPIO port.</description>
          <addressOffset>0x508</addressOffset>
          <fields>
            <field>
              <name>PIN0</name>
              <description>Pin 0.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN1</name>
              <description>Pin 1.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN2</name>
              <description>Pin 2.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN3</name>
              <description>Pin 3.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN4</name>
              <description>Pin 4.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN5</name>
              <description>Pin 5.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN6</name>
              <description>Pin 6.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN7</name>
              <description>Pin 7.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN8</name>
              <description>Pin 8.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN9</name>
              <description>Pin 9.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN10</name>
              <description>Pin 10.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN11</name>
              <description>Pin 11.</description>
              <lsb>11</lsb> <msb>11</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN12</name>
              <description>Pin 12.</description>
              <lsb>12</lsb> <msb>12</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN13</name>
              <description>Pin 13.</description>
              <lsb>13</lsb> <msb>13</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN14</name>
              <description>Pin 14.</description>
              <lsb>14</lsb> <msb>14</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN15</name>
              <description>Pin 15.</description>
              <lsb>15</lsb> <msb>15</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN16</name>
              <description>Pin 16.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN17</name>
              <description>Pin 17.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN18</name>
              <description>Pin 18.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN19</name>
              <description>Pin 19.</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN20</name>
              <description>Pin 20.</description>
              <lsb>20</lsb> <msb>20</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN21</name>
              <description>Pin 21.</description>
              <lsb>21</lsb> <msb>21</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN22</name>
              <description>Pin 22.</description>
              <lsb>22</lsb> <msb>22</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN23</name>
              <description>Pin 23.</description>
              <lsb>23</lsb> <msb>23</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN24</name>
              <description>Pin 24.</description>
              <lsb>24</lsb> <msb>24</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN25</name>
              <description>Pin 25.</description>
              <lsb>25</lsb> <msb>25</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN26</name>
              <description>Pin 26.</description>
              <lsb>26</lsb> <msb>26</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN27</name>
              <description>Pin 27.</description>
              <lsb>27</lsb> <msb>27</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN28</name>
              <description>Pin 28.</description>
              <lsb>28</lsb> <msb>28</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN29</name>
              <description>Pin 29.</description>
              <lsb>29</lsb> <msb>29</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN30</name>
              <description>Pin 30.</description>
              <lsb>30</lsb> <msb>30</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN31</name>
              <description>Pin 31.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin driver high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>OUTCLR</name>
          <description>Clear individual bits in GPIO port.</description>
          <addressOffset>0x50C</addressOffset>
          <fields>
            <field>
              <name>PIN0</name>
              <description>Pin 0.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN1</name>
              <description>Pin 1.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN2</name>
              <description>Pin 2.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN3</name>
              <description>Pin 3.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN4</name>
              <description>Pin 4.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN5</name>
              <description>Pin 5.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN6</name>
              <description>Pin 6.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN7</name>
              <description>Pin 7.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN8</name>
              <description>Pin 8.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN9</name>
              <description>Pin 9.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN10</name>
              <description>Pin 10.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN11</name>
              <description>Pin 11.</description>
              <lsb>11</lsb> <msb>11</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN12</name>
              <description>Pin 12.</description>
              <lsb>12</lsb> <msb>12</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN13</name>
              <description>Pin 13.</description>
              <lsb>13</lsb> <msb>13</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN14</name>
              <description>Pin 14.</description>
              <lsb>14</lsb> <msb>14</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN15</name>
              <description>Pin 15.</description>
              <lsb>15</lsb> <msb>15</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN16</name>
              <description>Pin 16.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN17</name>
              <description>Pin 17.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN18</name>
              <description>Pin 18.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN19</name>
              <description>Pin 19.</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN20</name>
              <description>Pin 20.</description>
              <lsb>20</lsb> <msb>20</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN21</name>
              <description>Pin 21.</description>
              <lsb>21</lsb> <msb>21</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN22</name>
              <description>Pin 22.</description>
              <lsb>22</lsb> <msb>22</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN23</name>
              <description>Pin 23.</description>
              <lsb>23</lsb> <msb>23</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN24</name>
              <description>Pin 24.</description>
              <lsb>24</lsb> <msb>24</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN25</name>
              <description>Pin 25.</description>
              <lsb>25</lsb> <msb>25</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN26</name>
              <description>Pin 26.</description>
              <lsb>26</lsb> <msb>26</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN27</name>
              <description>Pin 27.</description>
              <lsb>27</lsb> <msb>27</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN28</name>
              <description>Pin 28.</description>
              <lsb>28</lsb> <msb>28</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN29</name>
              <description>Pin 29.</description>
              <lsb>29</lsb> <msb>29</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN30</name>
              <description>Pin 30.</description>
              <lsb>30</lsb> <msb>30</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN31</name>
              <description>Pin 31.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin driver is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin driver is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin driver low.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>IN</name>
          <description>Read GPIO port.</description>
          <addressOffset>0x510</addressOffset>
          <access>read-only</access>
          <fields>
            <field>
              <name>PIN0</name>
              <description>Pin 0.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN1</name>
              <description>Pin 1.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN2</name>
              <description>Pin 2.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN3</name>
              <description>Pin 3.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN4</name>
              <description>Pin 4.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN5</name>
              <description>Pin 5.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN6</name>
              <description>Pin 6.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN7</name>
              <description>Pin 7.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN8</name>
              <description>Pin 8.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN9</name>
              <description>Pin 9.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN10</name>
              <description>Pin 10.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN11</name>
              <description>Pin 11.</description>
              <lsb>11</lsb> <msb>11</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN12</name>
              <description>Pin 12.</description>
              <lsb>12</lsb> <msb>12</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN13</name>
              <description>Pin 13.</description>
              <lsb>13</lsb> <msb>13</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN14</name>
              <description>Pin 14.</description>
              <lsb>14</lsb> <msb>14</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN15</name>
              <description>Pin 15.</description>
              <lsb>15</lsb> <msb>15</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN16</name>
              <description>Pin 16.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN17</name>
              <description>Pin 17.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN18</name>
              <description>Pin 18.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN19</name>
              <description>Pin 19.</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN20</name>
              <description>Pin 20.</description>
              <lsb>20</lsb> <msb>20</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN21</name>
              <description>Pin 21.</description>
              <lsb>21</lsb> <msb>21</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN22</name>
              <description>Pin 22.</description>
              <lsb>22</lsb> <msb>22</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN23</name>
              <description>Pin 23.</description>
              <lsb>23</lsb> <msb>23</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN24</name>
              <description>Pin 24.</description>
              <lsb>24</lsb> <msb>24</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN25</name>
              <description>Pin 25.</description>
              <lsb>25</lsb> <msb>25</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN26</name>
              <description>Pin 26.</description>
              <lsb>26</lsb> <msb>26</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN27</name>
              <description>Pin 27.</description>
              <lsb>27</lsb> <msb>27</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN28</name>
              <description>Pin 28.</description>
              <lsb>28</lsb> <msb>28</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN29</name>
              <description>Pin 29.</description>
              <lsb>29</lsb> <msb>29</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN30</name>
              <description>Pin 30.</description>
              <lsb>30</lsb> <msb>30</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN31</name>
              <description>Pin 31.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Pin input is low.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Pin input is high.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>

        <register>
          <name>DIR</name>
          <description>Direction of GPIO pins.</description>
          <addressOffset>0x514</addressOffset>
          <fields>
            <field>
              <name>PIN0</name>
              <description>Pin 0.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN1</name>
              <description>Pin 1.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN2</name>
              <description>Pin 2.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN3</name>
              <description>Pin 3.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN4</name>
              <description>Pin 4.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN5</name>
              <description>Pin 5.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN6</name>
              <description>Pin 6.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN7</name>
              <description>Pin 7.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN8</name>
              <description>Pin 8.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN9</name>
              <description>Pin 9.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN10</name>
              <description>Pin 10.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN11</name>
              <description>Pin 11.</description>
              <lsb>11</lsb> <msb>11</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN12</name>
              <description>Pin 12.</description>
              <lsb>12</lsb> <msb>12</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN13</name>
              <description>Pin 13.</description>
              <lsb>13</lsb> <msb>13</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN14</name>
              <description>Pin 14.</description>
              <lsb>14</lsb> <msb>14</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN15</name>
              <description>Pin 15.</description>
              <lsb>15</lsb> <msb>15</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN16</name>
              <description>Pin 16.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN17</name>
              <description>Pin 17.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN18</name>
              <description>Pin 18.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN19</name>
              <description>Pin 19.</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN20</name>
              <description>Pin 20.</description>
              <lsb>20</lsb> <msb>20</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN21</name>
              <description>Pin 21.</description>
              <lsb>21</lsb> <msb>21</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN22</name>
              <description>Pin 22.</description>
              <lsb>22</lsb> <msb>22</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN23</name>
              <description>Pin 23.</description>
              <lsb>23</lsb> <msb>23</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN24</name>
              <description>Pin 24.</description>
              <lsb>24</lsb> <msb>24</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN25</name>
              <description>Pin 25.</description>
              <lsb>25</lsb> <msb>25</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN26</name>
              <description>Pin 26.</description>
              <lsb>26</lsb> <msb>26</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN27</name>
              <description>Pin 27.</description>
              <lsb>27</lsb> <msb>27</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN28</name>
              <description>Pin 28.</description>
              <lsb>28</lsb> <msb>28</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN29</name>
              <description>Pin 29.</description>
              <lsb>29</lsb> <msb>29</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN30</name>
              <description>Pin 30.</description>
              <lsb>30</lsb> <msb>30</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN31</name>
              <description>Pin 31.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DIRSET</name>
          <description>DIR set register.</description>
          <addressOffset>0x518</addressOffset>
          <fields>
            <field>
              <name>PIN0</name>
              <description>Set as output pin 0.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN1</name>
              <description>Set as output pin 1.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN2</name>
              <description>Set as output pin 2.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN3</name>
              <description>Set as output pin 3.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN4</name>
              <description>Set as output pin 4.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN5</name>
              <description>Set as output pin 5.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN6</name>
              <description>Set as output pin 6.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN7</name>
              <description>Set as output pin 7.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN8</name>
              <description>Set as output pin 8.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN9</name>
              <description>Set as output pin 9.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN10</name>
              <description>Set as output pin 10.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN11</name>
              <description>Set as output pin 11.</description>
              <lsb>11</lsb> <msb>11</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN12</name>
              <description>Set as output pin 12.</description>
              <lsb>12</lsb> <msb>12</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN13</name>
              <description>Set as output pin 13.</description>
              <lsb>13</lsb> <msb>13</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN14</name>
              <description>Set as output pin 14.</description>
              <lsb>14</lsb> <msb>14</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN15</name>
              <description>Set as output pin 15.</description>
              <lsb>15</lsb> <msb>15</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN16</name>
              <description>Set as output pin 16.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN17</name>
              <description>Set as output pin 17.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN18</name>
              <description>Set as output pin 18.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN19</name>
              <description>Set as output pin 19.</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN20</name>
              <description>Set as output pin 20.</description>
              <lsb>20</lsb> <msb>20</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN21</name>
              <description>Set as output pin 21.</description>
              <lsb>21</lsb> <msb>21</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN22</name>
              <description>Set as output pin 22.</description>
              <lsb>22</lsb> <msb>22</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN23</name>
              <description>Set as output pin 23.</description>
              <lsb>23</lsb> <msb>23</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN24</name>
              <description>Set as output pin 24.</description>
              <lsb>24</lsb> <msb>24</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN25</name>
              <description>Set as output pin 25.</description>
              <lsb>25</lsb> <msb>25</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN26</name>
              <description>Set as output pin 26.</description>
              <lsb>26</lsb> <msb>26</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN27</name>
              <description>Set as output pin 27.</description>
              <lsb>27</lsb> <msb>27</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN28</name>
              <description>Set as output pin 28.</description>
              <lsb>28</lsb> <msb>28</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN29</name>
              <description>Set as output pin 29.</description>
              <lsb>29</lsb> <msb>29</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN30</name>
              <description>Set as output pin 30.</description>
              <lsb>30</lsb> <msb>30</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN31</name>
              <description>Set as output pin 31.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set pin as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DIRCLR</name>
          <description>DIR clear register.</description>
          <addressOffset>0x51C</addressOffset>
          <fields>
            <field>
              <name>PIN0</name>
              <description>Set as input pin 0.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN1</name>
              <description>Set as input pin 1.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN2</name>
              <description>Set as input pin 2.</description>
              <lsb>2</lsb> <msb>2</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN3</name>
              <description>Set as input pin 3.</description>
              <lsb>3</lsb> <msb>3</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN4</name>
              <description>Set as input pin 4.</description>
              <lsb>4</lsb> <msb>4</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN5</name>
              <description>Set as input pin 5.</description>
              <lsb>5</lsb> <msb>5</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN6</name>
              <description>Set as input pin 6.</description>
              <lsb>6</lsb> <msb>6</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN7</name>
              <description>Set as input pin 7.</description>
              <lsb>7</lsb> <msb>7</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN8</name>
              <description>Set as input pin 8.</description>
              <lsb>8</lsb> <msb>8</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN9</name>
              <description>Set as input pin 9.</description>
              <lsb>9</lsb> <msb>9</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN10</name>
              <description>Set as input pin 10.</description>
              <lsb>10</lsb> <msb>10</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN11</name>
              <description>Set as input pin 11.</description>
              <lsb>11</lsb> <msb>11</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN12</name>
              <description>Set as input pin 12.</description>
              <lsb>12</lsb> <msb>12</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN13</name>
              <description>Set as input pin 13.</description>
              <lsb>13</lsb> <msb>13</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN14</name>
              <description>Set as input pin 14.</description>
              <lsb>14</lsb> <msb>14</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN15</name>
              <description>Set as input pin 15.</description>
              <lsb>15</lsb> <msb>15</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN16</name>
              <description>Set as input pin 16.</description>
              <lsb>16</lsb> <msb>16</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN17</name>
              <description>Set as input pin 17.</description>
              <lsb>17</lsb> <msb>17</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN18</name>
              <description>Set as input pin 18.</description>
              <lsb>18</lsb> <msb>18</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN19</name>
              <description>Set as input pin 19.</description>
              <lsb>19</lsb> <msb>19</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN20</name>
              <description>Set as input pin 20.</description>
              <lsb>20</lsb> <msb>20</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN21</name>
              <description>Set as input pin 21.</description>
              <lsb>21</lsb> <msb>21</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN22</name>
              <description>Set as input pin 22.</description>
              <lsb>22</lsb> <msb>22</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN23</name>
              <description>Set as input pin 23.</description>
              <lsb>23</lsb> <msb>23</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN24</name>
              <description>Set as input pin 24.</description>
              <lsb>24</lsb> <msb>24</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN25</name>
              <description>Set as input pin 25.</description>
              <lsb>25</lsb> <msb>25</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN26</name>
              <description>Set as input pin 26.</description>
              <lsb>26</lsb> <msb>26</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN27</name>
              <description>Set as input pin 27.</description>
              <lsb>27</lsb> <msb>27</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN28</name>
              <description>Set as input pin 28.</description>
              <lsb>28</lsb> <msb>28</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN29</name>
              <description>Set as input pin 29.</description>
              <lsb>29</lsb> <msb>29</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN30</name>
              <description>Set as input pin 30.</description>
              <lsb>30</lsb> <msb>30</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIN31</name>
              <description>Set as input pin 31.</description>
              <lsb>31</lsb> <msb>31</msb>
              <enumeratedValues>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Pin set as input.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Pin set as output.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Set pin as input.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>


        <register>
          <dim>32</dim>
          <dimIncrement>0x04</dimIncrement>
          <name>PIN_CNF[%s]</name>
          <description>Configuration of GPIO pins.</description>
          <addressOffset>0x700</addressOffset>
          <resetValue>0x00000002</resetValue>
          <fields>
            <field>
              <name>DIR</name>
              <description>Pin direction.</description>
              <lsb>0</lsb> <msb>0</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Configure pin as an input pin.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>Configure pin as an output pin.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INPUT</name>
              <description>Connect or disconnect input path.</description>
              <lsb>1</lsb> <msb>1</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Connect</name>
                  <description>Connect input pin.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disconnect</name>
                  <description>Disconnect input pin.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PULL</name>
              <description>Pull-up or -down configuration.</description>
              <lsb>2</lsb> <msb>3</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No pull.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Pulldown</name>
                  <description>Pulldown on pin.</description>
                  <value>0x01</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Pullup</name>
                  <description>Pullup on pin.</description>
                  <value>0x03</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DRIVE</name>
              <description>Drive configuration.</description>
              <lsb>8</lsb> <msb>10</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>S0S1</name>
                  <description>Standard '0', Standard '1'.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H0S1</name>
                  <description>High '0', Standard '1'.</description>
                  <value>0x01</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>S0H1</name>
                  <description>Standard '0', High '1'.</description>
                  <value>0x02</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H0H1</name>
                  <description>High '0', High '1'.</description>
                  <value>0x03</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>D0S1</name>
                  <description>Disconnected '0', Standard '1'.</description>
                  <value>0x04</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>D0H1</name>
                  <description>Disconnected '0', High '1'.</description>
                  <value>0x05</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>S0D1</name>
                  <description>Standard '0', Disconnected '1'.</description>
                  <value>0x06</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>H0D1</name>
                  <description>High '0', Disconnected '1'.</description>
                  <value>0x07</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SENSE</name>
              <description>Pin sensing mechanism.</description>
              <lsb>16</lsb> <msb>17</msb>
              <enumeratedValues>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled.</description>
                  <value>0x00</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Wakeup on high level.</description>
                  <value>0x02</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Wakeup on low level.</description>
                  <value>0x03</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>

  </peripherals>
</device>
